<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <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,2004 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: Juergen Pfeifer, 1996</EM></FONT> <FONT COLOR=green><EM>-- Version Control:</EM></FONT> <FONT COLOR=green><EM>-- @Revision: 1.32 @</EM></FONT> <FONT COLOR=green><EM>-- @Date: 2004/08/21 21:37:00 @</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#ref_41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>with</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C; <b>with</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.Strings; <b>with</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.Pointers; <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; <b>with</b> Ada.Strings.Fixed; <b>with</b> Ada.Unchecked_Conversion; <b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_41_9">Terminal_Interface</A>.<FONT COLOR=red><A NAME="ref_52_33" HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A></FONT> <b>is</b> <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <b>type</b> System.Bit_Order; <b>package</b> <FONT COLOR=red><A NAME="ref_57_12">ASF</A></FONT> <b>renames</b> Ada.Strings.Fixed; <b>type</b> <FONT COLOR=red><A NAME="ref_59_9">chtype_array</A></FONT> <b>is</b> <b>array</b> (size_t <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>; <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__adb.htm#ref_59_9">chtype_array</A>); <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>generic</b> <b>type</b> <FONT COLOR=red><A NAME="ref_65_12">Element</A></FONT> <b>is</b> (<>); <b>function</b> <FONT COLOR=red><A NAME="ref_66_13" HREF="terminal_interface-curses__adb.htm#ref_69_13">W_Get_Element</A></FONT> (<FONT COLOR=red><A NAME="ref_66_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_67_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_65_12">Element</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_69_13" HREF="terminal_interface-curses__adb.htm#ref_66_13">W_Get_Element</A></FONT> (<FONT COLOR=red><A NAME="ref_69_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_70_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_65_12">Element</A> <b>is</b> <b>type</b> <FONT COLOR=red><A NAME="ref_71_12">E_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__adb.htm#ref_65_12">Element</A>; <b>package</b> <FONT COLOR=red><A NAME="ref_72_15">C_E_Array</A></FONT> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses__adb.htm#ref_65_12">Element</A>, <A HREF="terminal_interface-curses__adb.htm#ref_71_12">E_Array</A>, <A HREF="terminal_interface-curses__adb.htm#ref_65_12">Element</A>'Val (0)); <b>use</b> <A HREF="terminal_interface-curses__adb.htm#ref_72_15">C_E_Array</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_76_16">To_Pointer</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>, Pointer); <FONT COLOR=red><A NAME="ref_79_7">P</A></FONT> : Pointer := <A HREF="terminal_interface-curses__adb.htm#ref_76_16">To_Pointer</A> (<A HREF="terminal_interface-curses__adb.htm#ref_66_28">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_66_28">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_79_7">P</A> := <A HREF="terminal_interface-curses__adb.htm#ref_79_7">P</A> + ptrdiff_t (<A HREF="terminal_interface-curses__adb.htm#ref_67_28">Offset</A>); <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_79_7">P</A>.<b>all</b>; <b>end</b> <b>if</b>; <b>end</b> W_Get_Element; <b>function</b> <FONT COLOR=red><A NAME="ref_89_13">W_Get_Int</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#ref_66_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>); <b>function</b> <FONT COLOR=red><A NAME="ref_90_13">W_Get_Short</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#ref_66_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>); <b>function</b> <FONT COLOR=red><A NAME="ref_91_13">W_Get_Byte</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#ref_66_13">W_Get_Element</A> (<A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.unsigned_char); <b>function</b> <FONT COLOR=red><A NAME="ref_93_13" HREF="terminal_interface-curses__adb.htm#ref_96_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_93_23" HREF="terminal_interface-curses__adb.htm#ref_96_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_94_23" HREF="terminal_interface-curses__adb.htm#ref_97_23">Offset</A></FONT> : Natural) <b>return</b> Boolean; <b>function</b> <FONT COLOR=red><A NAME="ref_96_13" HREF="terminal_interface-curses__adb.htm#ref_93_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_96_23" HREF="terminal_interface-curses__adb.htm#ref_93_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_97_23" HREF="terminal_interface-curses__adb.htm#ref_94_23">Offset</A></FONT> : Natural) <b>return</b> Boolean <b>is</b> <FONT COLOR=red><A NAME="ref_99_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1928_4">Sizeof_bool</A> <b>is</b> <b>when</b> 1 => <A HREF="terminal_interface-curses__adb.htm#ref_99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_91_13">W_Get_Byte</A> (<A HREF="terminal_interface-curses__adb.htm#ref_93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_94_23">Offset</A>)); <b>when</b> 2 => <A HREF="terminal_interface-curses__adb.htm#ref_99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_94_23">Offset</A>)); <b>when</b> 4 => <A HREF="terminal_interface-curses__adb.htm#ref_99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_94_23">Offset</A>)); <b>when</b> <b>others</b> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>case</b>; <b>case</b> <A HREF="terminal_interface-curses__adb.htm#ref_99_7">Res</A> <b>is</b> <b>when</b> 0 => <b>return</b> False; <b>when</b> <b>others</b> => <b>return</b> True; <b>end</b> <b>case</b>; <b>end</b> <A HREF="terminal_interface-curses__adb.htm#ref_93_13">Get_Flag</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_115_13" HREF="terminal_interface-curses__ads.htm#ref_1610_13">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_115_23" HREF="terminal_interface-curses__ads.htm#ref_1610_23">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_117_16">Keyname</A></FONT> (<FONT COLOR=red><A NAME="ref_117_25">K</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_117_16">Keyname</A>, "keyname"); <FONT COLOR=red><A NAME="ref_120_7">Ch</A></FONT> : Character; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1610_23">Key</A> <= Character'Pos (Character'Last) <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_120_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1610_23">Key</A>); <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_120_7">Ch</A>) <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1621_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__adb.htm#ref_120_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_120_7">Ch</A>) <b>then</b> <b>declare</b> <FONT COLOR=red><A NAME="ref_130_16">S</A></FONT> : String (1 .. 1); <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_130_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_120_7">Ch</A>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_130_16">S</A>; <b>end</b>; <b>else</b> <b>return</b> ""; <b>end</b> <b>if</b>; <b>else</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_117_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1610_23">Key</A>))); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1610_13">Key_Name</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_143_14" HREF="terminal_interface-curses__ads.htm#ref_1604_14">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_143_24" HREF="terminal_interface-curses__ads.htm#ref_1604_24">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>; <FONT COLOR=red><A NAME="ref_144_24" HREF="terminal_interface-curses__ads.htm#ref_1605_24">Name</A></FONT> : <b>out</b> String) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_57_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1610_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1604_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1605_24">Name</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1604_14">Key_Name</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_151_14" HREF="terminal_interface-curses__ads.htm#ref_480_14">Init_Screen</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_153_16">Initscr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_153_16">Initscr</A>, "initscr"); <FONT COLOR=red><A NAME="ref_156_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_156_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_153_16">Initscr</A>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_156_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_480_14">Init_Screen</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_164_14" HREF="terminal_interface-curses__ads.htm#ref_489_14">End_Windows</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_166_16">Endwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_166_16">Endwin</A>, "endwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_166_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_489_14">End_Windows</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_174_13" HREF="terminal_interface-curses__ads.htm#ref_496_13">Is_End_Window</A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_176_16">Isendwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_176_16">Isendwin</A>, "isendwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_496_13">Is_End_Window</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_186_14" HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_186_27" HREF="terminal_interface-curses__ads.htm#ref_505_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_187_27" HREF="terminal_interface-curses__ads.htm#ref_506_27">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_188_27" HREF="terminal_interface-curses__ads.htm#ref_507_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_190_16">Wmove</A></FONT> (<FONT COLOR=red><A NAME="ref_190_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_191_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_192_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_190_16">Wmove</A>, "wmove"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_190_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_505_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_506_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_507_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_201_14" HREF="terminal_interface-curses__ads.htm#ref_517_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_201_19" HREF="terminal_interface-curses__ads.htm#ref_517_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_202_19" HREF="terminal_interface-curses__ads.htm#ref_518_19">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_204_16">Waddch</A></FONT> (<FONT COLOR=red><A NAME="ref_204_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_205_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_204_16">Waddch</A>, "waddch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_204_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_517_19">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_518_19">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_517_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_213_14" HREF="terminal_interface-curses__ads.htm#ref_522_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_213_19" HREF="terminal_interface-curses__ads.htm#ref_522_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_214_19" HREF="terminal_interface-curses__ads.htm#ref_523_19">Ch</A></FONT> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_517_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_522_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#ref_523_19">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_223_14" HREF="terminal_interface-curses__ads.htm#ref_528_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_224_7" HREF="terminal_interface-curses__ads.htm#ref_529_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_225_7" HREF="terminal_interface-curses__ads.htm#ref_530_7">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_226_7" HREF="terminal_interface-curses__ads.htm#ref_531_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_227_7" HREF="terminal_interface-curses__ads.htm#ref_532_7">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_229_16">mvwaddch</A></FONT> (<FONT COLOR=red><A NAME="ref_229_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_230_26">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_231_26">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_232_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_229_16">mvwaddch</A>, "mvwaddch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_229_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_530_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_531_7">Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_532_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_242_14" HREF="terminal_interface-curses__ads.htm#ref_536_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_243_7" HREF="terminal_interface-curses__ads.htm#ref_537_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_244_7" HREF="terminal_interface-curses__ads.htm#ref_538_7">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_245_7" HREF="terminal_interface-curses__ads.htm#ref_539_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_246_7" HREF="terminal_interface-curses__ads.htm#ref_540_7">Ch</A></FONT> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_537_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_538_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_539_7">Column</A>, <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#ref_540_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_536_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_257_14" HREF="terminal_interface-curses__ads.htm#ref_545_14">Add_With_Immediate_Echo</A></FONT> (<FONT COLOR=red><A NAME="ref_258_7" HREF="terminal_interface-curses__ads.htm#ref_546_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_259_7" HREF="terminal_interface-curses__ads.htm#ref_547_7">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_261_16">Wechochar</A></FONT> (<FONT COLOR=red><A NAME="ref_261_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_262_27">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_261_16">Wechochar</A>, "wechochar"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_261_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_546_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_547_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_545_14">Add_With_Immediate_Echo</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_270_14" HREF="terminal_interface-curses__ads.htm#ref_551_14">Add_With_Immediate_Echo</A></FONT> (<FONT COLOR=red><A NAME="ref_271_7" HREF="terminal_interface-curses__ads.htm#ref_552_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_272_7" HREF="terminal_interface-curses__ads.htm#ref_553_7">Ch</A></FONT> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_545_14">Add_With_Immediate_Echo</A> (<A HREF="terminal_interface-curses__ads.htm#ref_552_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#ref_553_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_551_14">Add_With_Immediate_Echo</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_282_13" HREF="terminal_interface-curses__ads.htm#ref_563_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_282_21" HREF="terminal_interface-curses__ads.htm#ref_564_7">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_283_21" HREF="terminal_interface-curses__ads.htm#ref_565_7">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>; <FONT COLOR=red><A NAME="ref_284_21" HREF="terminal_interface-curses__ads.htm#ref_566_7">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_285_21" HREF="terminal_interface-curses__ads.htm#ref_567_7">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_287_16">Newwin</A></FONT> (<FONT COLOR=red><A NAME="ref_287_24">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_288_24">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_289_24">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_290_24">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_287_16">Newwin</A>, "newwin"); <FONT COLOR=red><A NAME="ref_293_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_293_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_287_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_564_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_565_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_566_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_567_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_293_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_293_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_563_13">Create</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_305_14" HREF="terminal_interface-curses__ads.htm#ref_582_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_305_22" HREF="terminal_interface-curses__ads.htm#ref_582_22">Win</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_307_16">Wdelwin</A></FONT> (<FONT COLOR=red><A NAME="ref_307_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_307_16">Wdelwin</A>, "delwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_582_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__ads.htm#ref_582_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_582_14">Delete</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_316_13" HREF="terminal_interface-curses__ads.htm#ref_588_13">Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_317_7" HREF="terminal_interface-curses__ads.htm#ref_589_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_318_7" HREF="terminal_interface-curses__ads.htm#ref_590_7">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_319_7" HREF="terminal_interface-curses__ads.htm#ref_591_7">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>; <FONT COLOR=red><A NAME="ref_320_7" HREF="terminal_interface-curses__ads.htm#ref_592_7">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_321_7" HREF="terminal_interface-curses__ads.htm#ref_593_7">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_323_16">Subwin</A></FONT> (<FONT COLOR=red><A NAME="ref_324_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_325_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_326_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_327_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_328_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_323_16">Subwin</A>, "subwin"); <FONT COLOR=red><A NAME="ref_331_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_331_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_323_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_589_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_590_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_591_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_592_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_593_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_331_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_331_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_588_13">Sub_Window</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_344_13" HREF="terminal_interface-curses__ads.htm#ref_598_13">Derived_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_345_7" HREF="terminal_interface-curses__ads.htm#ref_599_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_346_7" HREF="terminal_interface-curses__ads.htm#ref_600_7">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_347_7" HREF="terminal_interface-curses__ads.htm#ref_601_7">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>; <FONT COLOR=red><A NAME="ref_348_7" HREF="terminal_interface-curses__ads.htm#ref_602_7">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_349_7" HREF="terminal_interface-curses__ads.htm#ref_603_7">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_351_16">Derwin</A></FONT> (<FONT COLOR=red><A NAME="ref_352_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_353_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_354_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_355_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_356_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Derwin</A>, "derwin"); <FONT COLOR=red><A NAME="ref_359_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_359_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_599_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_600_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_601_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_602_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_603_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_359_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_359_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_598_13">Derived_Window</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_372_13" HREF="terminal_interface-curses__ads.htm#ref_608_13">Duplicate</A></FONT> (<FONT COLOR=red><A NAME="ref_372_24" HREF="terminal_interface-curses__ads.htm#ref_608_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_374_16">Dupwin</A></FONT> (<FONT COLOR=red><A NAME="ref_374_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_374_16">Dupwin</A>, "dupwin"); <FONT COLOR=red><A NAME="ref_377_7">W</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_374_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_608_24">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_608_13">Duplicate</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_385_14" HREF="terminal_interface-curses__ads.htm#ref_613_14">Move_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_385_27" HREF="terminal_interface-curses__ads.htm#ref_613_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_386_27" HREF="terminal_interface-curses__ads.htm#ref_614_27">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_387_27" HREF="terminal_interface-curses__ads.htm#ref_615_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_389_16">Mvwin</A></FONT> (<FONT COLOR=red><A NAME="ref_389_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_390_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_391_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_389_16">Mvwin</A>, "mvwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_389_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_613_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_614_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_615_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_613_14">Move_Window</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_399_14" HREF="terminal_interface-curses__ads.htm#ref_620_14">Move_Derived_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_399_35" HREF="terminal_interface-curses__ads.htm#ref_620_35">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_400_35" HREF="terminal_interface-curses__ads.htm#ref_621_35">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_401_35" HREF="terminal_interface-curses__ads.htm#ref_622_35">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_403_16">Mvderwin</A></FONT> (<FONT COLOR=red><A NAME="ref_403_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_404_26">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_405_26">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_403_16">Mvderwin</A>, "mvderwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_403_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_620_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_621_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_622_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_620_14">Move_Derived_Window</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_413_14" HREF="terminal_interface-curses__ads.htm#ref_637_14">Set_Synch_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_413_30" HREF="terminal_interface-curses__ads.htm#ref_637_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_414_30" HREF="terminal_interface-curses__ads.htm#ref_638_30">Mode</A></FONT> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_416_16">Syncok</A></FONT> (<FONT COLOR=red><A NAME="ref_416_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_417_24">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_416_16">Syncok</A>, "syncok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_416_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_637_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_638_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_637_14">Set_Synch_Mode</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_425_14" HREF="terminal_interface-curses__ads.htm#ref_647_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_425_19" HREF="terminal_interface-curses__ads.htm#ref_647_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_426_19" HREF="terminal_interface-curses__ads.htm#ref_648_19">Str</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_427_19" HREF="terminal_interface-curses__ads.htm#ref_649_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_429_16">Waddnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_429_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_430_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_431_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_429_16">Waddnstr</A>, "waddnstr"); <FONT COLOR=red><A NAME="ref_434_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_648_19">Str</A>'Length); <FONT COLOR=red><A NAME="ref_435_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_648_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_434_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_435_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_429_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_647_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_434_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_649_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_647_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_443_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_656_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_657_19">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_658_19">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_659_19">Str</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_448_7" HREF="terminal_interface-curses__ads.htm#ref_660_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_656_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_657_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_658_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_647_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_656_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_659_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_660_19">Len</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Add</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_455_14" HREF="terminal_interface-curses__ads.htm#ref_671_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_456_7" HREF="terminal_interface-curses__ads.htm#ref_671_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_457_7" HREF="terminal_interface-curses__ads.htm#ref_672_19">Str</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_376_9">Attributed_String</A>; <FONT COLOR=red><A NAME="ref_458_7" HREF="terminal_interface-curses__ads.htm#ref_673_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_460_16">Waddchnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_460_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_461_28">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_59_9">chtype_array</A>; <FONT COLOR=red><A NAME="ref_462_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_460_16">Waddchnstr</A>, "waddchnstr"); <FONT COLOR=red><A NAME="ref_465_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_59_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_672_19">Str</A>'Length); <b>begin</b> <b>for</b> <FONT COLOR=red><A NAME="ref_467_11">Length</A></FONT> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_672_19">Str</A>'Length) <b>loop</b> <A HREF="terminal_interface-curses__adb.htm#ref_465_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_467_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_672_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_467_11">Length</A>)); <b>end</b> <b>loop</b>; <A HREF="terminal_interface-curses__adb.htm#ref_465_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_672_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_460_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_671_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_465_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_673_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_671_14">Add</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_478_14" HREF="terminal_interface-curses__ads.htm#ref_680_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_479_7" HREF="terminal_interface-curses__ads.htm#ref_680_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_480_7" HREF="terminal_interface-curses__ads.htm#ref_681_19">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_481_7" HREF="terminal_interface-curses__ads.htm#ref_682_19">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_482_7" HREF="terminal_interface-curses__ads.htm#ref_683_19">Str</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_376_9">Attributed_String</A>; <FONT COLOR=red><A NAME="ref_483_7" HREF="terminal_interface-curses__ads.htm#ref_684_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_680_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_681_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_682_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_671_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_680_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_683_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_684_19">Len</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_680_14">Add</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_490_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Border</A></FONT> (<FONT COLOR=red><A NAME="ref_491_7" HREF="terminal_interface-curses__ads.htm#ref_699_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_492_7" HREF="terminal_interface-curses__ads.htm#ref_700_7">Left_Side_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_493_7" HREF="terminal_interface-curses__ads.htm#ref_701_7">Right_Side_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_494_7" HREF="terminal_interface-curses__ads.htm#ref_702_7">Top_Side_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_495_7" HREF="terminal_interface-curses__ads.htm#ref_703_7">Bottom_Side_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_496_7" HREF="terminal_interface-curses__ads.htm#ref_704_7">Upper_Left_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_497_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Upper_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_498_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Lower_Left_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_499_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Lower_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_501_16">Wborder</A></FONT> (<FONT COLOR=red><A NAME="ref_501_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_502_25">LS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_503_25">RS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_504_25">TS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_505_25">BS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_506_25">ULC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_507_25">URC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_508_25">LLC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_509_25">LRC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_501_16">Wborder</A>, "wborder"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_501_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_699_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_700_7">Left_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_701_7">Right_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_702_7">Top_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_703_7">Bottom_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_704_7">Upper_Left_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Upper_Right_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Lower_Left_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Lower_Right_Corner_Symbol</A>) ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Border</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_527_14" HREF="terminal_interface-curses__ads.htm#ref_714_14">Box</A></FONT> (<FONT COLOR=red><A NAME="ref_528_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_529_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Vertical_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <FONT COLOR=red><A NAME="ref_530_7" HREF="terminal_interface-curses__ads.htm#ref_717_7">Horizontal_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_715_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_717_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_717_7">Horizontal_Symbol</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_714_14">Box</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_538_14" HREF="terminal_interface-curses__ads.htm#ref_722_14">Horizontal_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_539_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_540_7" HREF="terminal_interface-curses__ads.htm#ref_724_7">Line_Size</A></FONT> : <b>in</b> Natural; <FONT COLOR=red><A NAME="ref_541_7" HREF="terminal_interface-curses__ads.htm#ref_725_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_543_16">Whline</A></FONT> (<FONT COLOR=red><A NAME="ref_543_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_544_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_545_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_543_16">Whline</A>, "whline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_543_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_723_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_725_7">Line_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_724_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_722_14">Horizontal_Line</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_555_14" HREF="terminal_interface-curses__ads.htm#ref_731_14">Vertical_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_556_7" HREF="terminal_interface-curses__ads.htm#ref_732_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_557_7" HREF="terminal_interface-curses__ads.htm#ref_733_7">Line_Size</A></FONT> : <b>in</b> Natural; <FONT COLOR=red><A NAME="ref_558_7" HREF="terminal_interface-curses__ads.htm#ref_734_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_560_16">Wvline</A></FONT> (<FONT COLOR=red><A NAME="ref_560_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_561_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="ref_562_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_560_16">Wvline</A>, "wvline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_560_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_732_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_734_7">Line_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_733_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_731_14">Vertical_Line</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_573_13" HREF="terminal_interface-curses__ads.htm#ref_745_13">Get_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_573_28" HREF="terminal_interface-curses__ads.htm#ref_745_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_576_16">Wgetch</A></FONT> (<FONT COLOR=red><A NAME="ref_576_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_576_16">Wgetch</A>, "wgetch"); <FONT COLOR=red><A NAME="ref_579_7">C</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_576_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_745_28">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_579_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>; <b>else</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_579_7">C</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_745_13">Get_Keystroke</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_588_14" HREF="terminal_interface-curses__ads.htm#ref_756_14">Undo_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_588_30" HREF="terminal_interface-curses__ads.htm#ref_756_30">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_590_16">Ungetch</A></FONT> (<FONT COLOR=red><A NAME="ref_590_25">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_590_16">Ungetch</A>, "ungetch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_590_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_756_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_756_14">Undo_Keystroke</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_598_13" HREF="terminal_interface-curses__ads.htm#ref_761_13">Has_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_598_22" HREF="terminal_interface-curses__ads.htm#ref_761_22">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_600_16">Haskey</A></FONT> (<FONT COLOR=red><A NAME="ref_600_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_600_16">Haskey</A>, "has_key"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_600_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_761_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_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> <A HREF="terminal_interface-curses__ads.htm#ref_761_13">Has_Key</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_610_13" HREF="terminal_interface-curses__ads.htm#ref_768_13">Is_Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_610_30" HREF="terminal_interface-curses__ads.htm#ref_768_30">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean <b>is</b> <FONT COLOR=red><A NAME="ref_612_7">L</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_772_12">Function_Key_Number</A>'Last)); <b>begin</b> <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_768_30">Key</A> >= <A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_768_30">Key</A> <= <A HREF="terminal_interface-curses__adb.htm#ref_612_7">L</A>) <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_768_13">Is_Function_Key</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_622_13" HREF="terminal_interface-curses__ads.htm#ref_775_13">Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_622_27" HREF="terminal_interface-curses__ads.htm#ref_775_27">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_772_12">Function_Key_Number</A> <b>is</b> <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_768_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_27">Key</A>) <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_772_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>); <b>else</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_775_13">Function_Key</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_633_13" HREF="terminal_interface-curses__ads.htm#ref_780_13">Function_Key_Code</A></FONT> (<FONT COLOR=red><A NAME="ref_633_32" HREF="terminal_interface-curses__ads.htm#ref_780_32">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_772_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_780_32">Key</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_780_13">Function_Key_Code</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_639_14" HREF="terminal_interface-curses__ads.htm#ref_794_14">Standout</A></FONT> (<FONT COLOR=red><A NAME="ref_639_24" HREF="terminal_interface-curses__ads.htm#ref_794_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_640_24" HREF="terminal_interface-curses__ads.htm#ref_795_24">On</A></FONT> : Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_642_16">wstandout</A></FONT> (<FONT COLOR=red><A NAME="ref_642_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_642_16">wstandout</A>, "wstandout"); <b>function</b> <FONT COLOR=red><A NAME="ref_644_16">wstandend</A></FONT> (<FONT COLOR=red><A NAME="ref_644_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_644_16">wstandend</A>, "wstandend"); <FONT COLOR=red><A NAME="ref_647_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_795_24">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_647_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_642_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_794_24">Win</A>); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_647_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_644_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_794_24">Win</A>); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_647_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_794_14">Standout</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_659_14" HREF="terminal_interface-curses__ads.htm#ref_800_14">Switch_Character_Attribute</A></FONT> (<FONT COLOR=red><A NAME="ref_660_7" HREF="terminal_interface-curses__ads.htm#ref_801_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_661_7" HREF="terminal_interface-curses__ads.htm#ref_802_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>; <FONT COLOR=red><A NAME="ref_662_7" HREF="terminal_interface-curses__ads.htm#ref_803_7">On</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_664_16">Wattron</A></FONT> (<FONT COLOR=red><A NAME="ref_664_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_665_25">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_664_16">Wattron</A>, "wattr_on"); <b>function</b> <FONT COLOR=red><A NAME="ref_667_16">Wattroff</A></FONT> (<FONT COLOR=red><A NAME="ref_667_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_668_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_667_16">Wattroff</A>, "wattr_off"); <FONT COLOR=green><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></FONT> <FONT COLOR=green><EM>-- switch on or off the attributes in the set.</EM></FONT> <FONT COLOR=red><A NAME="ref_672_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_673_7">AC</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_802_7">Attr</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_803_7">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_672_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_664_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#ref_801_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#ref_673_7">AC</A>)); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_672_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_667_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_801_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#ref_673_7">AC</A>)); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_672_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_800_14">Switch_Character_Attribute</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_687_14" HREF="terminal_interface-curses__ads.htm#ref_811_14">Set_Character_Attributes</A></FONT> (<FONT COLOR=red><A NAME="ref_688_7" HREF="terminal_interface-curses__ads.htm#ref_812_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_689_7" HREF="terminal_interface-curses__ads.htm#ref_813_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>; <FONT COLOR=red><A NAME="ref_690_7" HREF="terminal_interface-curses__ads.htm#ref_814_7">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_692_16">Wattrset</A></FONT> (<FONT COLOR=red><A NAME="ref_692_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_693_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_692_16">Wattrset</A>, "wattrset"); <FONT COLOR=green><EM>-- ??? wattr_set</EM></FONT> <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_692_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_812_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>' (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#ref_814_7">Color</A>, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_813_7">Attr</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_811_14">Set_Character_Attributes</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_705_13" HREF="terminal_interface-curses__ads.htm#ref_820_13">Get_Character_Attribute</A></FONT> (<FONT COLOR=red><A NAME="ref_705_38" HREF="terminal_interface-curses__ads.htm#ref_821_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_708_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="ref_708_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_709_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="ref_710_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_711_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_708_16">Wattrget</A>, "wattr_get"); <FONT COLOR=red><A NAME="ref_714_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="ref_715_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_716_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_708_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_821_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_714_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_715_7">Col</A>'<b>Access</b>, System.Null_Address); <FONT COLOR=red><A NAME="ref_718_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_716_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_4">Curses_Ok</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_714_7">Attr</A>); <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>; <b>else</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_820_13">Get_Character_Attribute</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_728_13" HREF="terminal_interface-curses__ads.htm#ref_826_13">Get_Character_Attribute</A></FONT> (<FONT COLOR=red><A NAME="ref_728_38" HREF="terminal_interface-curses__ads.htm#ref_827_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_731_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="ref_731_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_732_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="ref_733_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_734_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_731_16">Wattrget</A>, "wattr_get"); <FONT COLOR=red><A NAME="ref_737_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="ref_738_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_739_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_731_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_827_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_737_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_738_7">Col</A>'<b>Access</b>, System.Null_Address); <FONT COLOR=red><A NAME="ref_741_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_739_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_4">Curses_Ok</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_741_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_737_7">Attr</A>); <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_741_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>; <b>else</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_826_13">Get_Character_Attribute</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_751_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Set_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_751_25" HREF="terminal_interface-curses__ads.htm#ref_832_25">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_752_25" HREF="terminal_interface-curses__ads.htm#ref_833_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_754_16">Wset_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_754_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_755_28">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_756_28">Opts</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_754_16">Wset_Color</A>, "wcolor_set"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_754_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_833_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Set_Color</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_766_14" HREF="terminal_interface-curses__ads.htm#ref_839_14">Change_Attributes</A></FONT> (<FONT COLOR=red><A NAME="ref_767_7" HREF="terminal_interface-curses__ads.htm#ref_840_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_768_7" HREF="terminal_interface-curses__ads.htm#ref_841_7">Count</A></FONT> : <b>in</b> Integer := -1; <FONT COLOR=red><A NAME="ref_769_7" HREF="terminal_interface-curses__ads.htm#ref_842_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>; <FONT COLOR=red><A NAME="ref_770_7" HREF="terminal_interface-curses__ads.htm#ref_843_7">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_772_16">Wchgat</A></FONT> (<FONT COLOR=red><A NAME="ref_772_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_773_24">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_774_24">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="ref_775_24">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_776_24">Opts</A></FONT> : System.Address := System.Null_Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Wchgat</A>, "wchgat"); <FONT COLOR=red><A NAME="ref_780_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_842_7">Attr</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_840_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_841_7">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#ref_780_7">Ch</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_843_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_839_14">Change_Attributes</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_789_14" HREF="terminal_interface-curses__ads.htm#ref_848_14">Change_Attributes</A></FONT> (<FONT COLOR=red><A NAME="ref_790_7" HREF="terminal_interface-curses__ads.htm#ref_849_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_791_7" HREF="terminal_interface-curses__ads.htm#ref_850_7">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'First; <FONT COLOR=red><A NAME="ref_792_7" HREF="terminal_interface-curses__ads.htm#ref_851_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'First; <FONT COLOR=red><A NAME="ref_793_7" HREF="terminal_interface-curses__ads.htm#ref_852_7">Count</A></FONT> : <b>in</b> Integer := -1; <FONT COLOR=red><A NAME="ref_794_7" HREF="terminal_interface-curses__ads.htm#ref_853_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>; <FONT COLOR=red><A NAME="ref_795_7" HREF="terminal_interface-curses__ads.htm#ref_854_7">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_850_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_851_7">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_839_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_852_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_853_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_854_7">Color</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_848_14">Change_Attributes</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_802_14" HREF="terminal_interface-curses__ads.htm#ref_864_14">Beep</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_804_16">Beeper</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_804_16">Beeper</A>, "beep"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_804_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_864_14">Beep</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_812_14" HREF="terminal_interface-curses__ads.htm#ref_869_14">Flash_Screen</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_814_16">Flash</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_814_16">Flash</A>, "flash"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_814_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_869_14">Flash_Screen</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_822_14" HREF="terminal_interface-curses__ads.htm#ref_880_14">Set_Cbreak_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_822_31" HREF="terminal_interface-curses__ads.htm#ref_880_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_824_16">Cbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_824_16">Cbreak</A>, "cbreak"); <b>function</b> <FONT COLOR=red><A NAME="ref_826_16">NoCbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_826_16">NoCbreak</A>, "nocbreak"); <FONT COLOR=red><A NAME="ref_829_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_880_31">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_824_16">Cbreak</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_826_16">NoCbreak</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_880_14">Set_Cbreak_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_841_14" HREF="terminal_interface-curses__ads.htm#ref_886_14">Set_Raw_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_841_28" HREF="terminal_interface-curses__ads.htm#ref_886_28">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_843_16">Raw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_843_16">Raw</A>, "raw"); <b>function</b> <FONT COLOR=red><A NAME="ref_845_16">NoRaw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_845_16">NoRaw</A>, "noraw"); <FONT COLOR=red><A NAME="ref_848_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_886_28">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_848_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_843_16">Raw</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_848_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_845_16">NoRaw</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_848_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_886_14">Set_Raw_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_860_14" HREF="terminal_interface-curses__ads.htm#ref_892_14">Set_Echo_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_860_29" HREF="terminal_interface-curses__ads.htm#ref_892_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_862_16">Echo</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_862_16">Echo</A>, "echo"); <b>function</b> <FONT COLOR=red><A NAME="ref_864_16">NoEcho</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_864_16">NoEcho</A>, "noecho"); <FONT COLOR=red><A NAME="ref_867_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_892_29">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_867_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_862_16">Echo</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_867_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_864_16">NoEcho</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_867_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_892_14">Set_Echo_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_879_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Set_Meta_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_879_29" HREF="terminal_interface-curses__ads.htm#ref_898_29">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_880_29" HREF="terminal_interface-curses__ads.htm#ref_899_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_882_16">Meta</A></FONT> (<FONT COLOR=red><A NAME="ref_882_22">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_882_34">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_882_16">Meta</A>, "meta"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_882_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_898_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_899_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Set_Meta_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_890_14" HREF="terminal_interface-curses__ads.htm#ref_904_14">Set_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_890_31" HREF="terminal_interface-curses__ads.htm#ref_904_31">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_891_31" HREF="terminal_interface-curses__ads.htm#ref_905_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_893_16">Keypad</A></FONT> (<FONT COLOR=red><A NAME="ref_893_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_893_36">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_893_16">Keypad</A>, "keypad"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_893_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_904_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_905_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_904_14">Set_KeyPad_Mode</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_901_13" HREF="terminal_interface-curses__ads.htm#ref_909_13">Get_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_901_30" HREF="terminal_interface-curses__ads.htm#ref_909_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_93_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1927_4">Offset_use_keypad</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_909_13">Get_KeyPad_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_908_14" HREF="terminal_interface-curses__ads.htm#ref_917_14">Half_Delay</A></FONT> (<FONT COLOR=red><A NAME="ref_908_26" HREF="terminal_interface-curses__ads.htm#ref_917_26">Amount</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_914_9">Half_Delay_Amount</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_910_16">Halfdelay</A></FONT> (<FONT COLOR=red><A NAME="ref_910_27">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_910_16">Halfdelay</A>, "halfdelay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_910_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_917_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_917_14">Half_Delay</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_918_14" HREF="terminal_interface-curses__ads.htm#ref_922_14">Set_Flush_On_Interrupt_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_919_7" HREF="terminal_interface-curses__ads.htm#ref_923_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_920_7" HREF="terminal_interface-curses__ads.htm#ref_924_7">Mode</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_922_16">Intrflush</A></FONT> (<FONT COLOR=red><A NAME="ref_922_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_922_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_922_16">Intrflush</A>, "intrflush"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_922_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_923_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_924_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_922_14">Set_Flush_On_Interrupt_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_930_14" HREF="terminal_interface-curses__ads.htm#ref_929_14">Set_Queue_Interrupt_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_931_7" HREF="terminal_interface-curses__ads.htm#ref_930_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_932_7" HREF="terminal_interface-curses__ads.htm#ref_931_7">Flush</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>procedure</b> <FONT COLOR=red><A NAME="ref_934_17">Qiflush</A></FONT>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_934_17">Qiflush</A>, "qiflush"); <b>procedure</b> <FONT COLOR=red><A NAME="ref_936_17">No_Qiflush</A></FONT>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_936_17">No_Qiflush</A>, "noqiflush"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_930_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_931_7">Flush</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_934_17">Qiflush</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_936_17">No_Qiflush</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_929_14">Set_Queue_Interrupt_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_949_14" HREF="terminal_interface-curses__ads.htm#ref_937_14">Set_NoDelay_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_950_7" HREF="terminal_interface-curses__ads.htm#ref_938_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_951_7" HREF="terminal_interface-curses__ads.htm#ref_939_7">Mode</A></FONT> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_953_16">Nodelay</A></FONT> (<FONT COLOR=red><A NAME="ref_953_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_953_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_953_16">Nodelay</A>, "nodelay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_953_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_938_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_939_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_14">Set_NoDelay_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_961_14" HREF="terminal_interface-curses__ads.htm#ref_946_14">Set_Timeout_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_961_32" HREF="terminal_interface-curses__ads.htm#ref_946_32">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_962_32" HREF="terminal_interface-curses__ads.htm#ref_947_32">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_943_9">Timeout_Mode</A>; <FONT COLOR=red><A NAME="ref_963_32" HREF="terminal_interface-curses__ads.htm#ref_948_32">Amount</A></FONT> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_965_16">Wtimeout</A></FONT> (<FONT COLOR=red><A NAME="ref_965_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_965_40">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_965_16">Wtimeout</A>, "wtimeout"); <FONT COLOR=red><A NAME="ref_968_7">Time</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_947_32">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_943_26">Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#ref_968_7">Time</A> := -1; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_943_36">Non_Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#ref_968_7">Time</A> := 0; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_943_50">Delayed</A> => <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_32">Amount</A> = 0 <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#ref_968_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_948_32">Amount</A>); <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_965_16">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_946_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_968_7">Time</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_946_14">Set_Timeout_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_984_14" HREF="terminal_interface-curses__ads.htm#ref_958_14">Set_Escape_Timer_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_985_7" HREF="terminal_interface-curses__ads.htm#ref_959_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_986_7" HREF="terminal_interface-curses__ads.htm#ref_960_7">Timer_Off</A></FONT> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_988_16">Notimeout</A></FONT> (<FONT COLOR=red><A NAME="ref_988_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_988_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_988_16">Notimeout</A>, "notimeout"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_988_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_959_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_960_7">Timer_Off</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_958_14">Set_Escape_Timer_Mode</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_998_14" HREF="terminal_interface-curses__ads.htm#ref_969_14">Set_NL_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_998_27" HREF="terminal_interface-curses__ads.htm#ref_969_27">SwitchOn</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1000_16">NL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1000_16">NL</A>, "nl"); <b>function</b> <FONT COLOR=red><A NAME="ref_1002_16">NoNL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1002_16">NoNL</A>, "nonl"); <FONT COLOR=red><A NAME="ref_1005_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_969_27">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_1005_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1000_16">NL</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_1005_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1002_16">NoNL</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1005_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_969_14">Set_NL_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1017_14" HREF="terminal_interface-curses__ads.htm#ref_975_14">Clear_On_Next_Update</A></FONT> (<FONT COLOR=red><A NAME="ref_1018_7" HREF="terminal_interface-curses__ads.htm#ref_976_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1019_7" HREF="terminal_interface-curses__ads.htm#ref_977_7">Do_Clear</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1021_16">Clear_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1021_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1021_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1021_16">Clear_Ok</A>, "clearok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1021_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_976_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_975_14">Clear_On_Next_Update</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1029_14" HREF="terminal_interface-curses__ads.htm#ref_982_14">Use_Insert_Delete_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1030_7" HREF="terminal_interface-curses__ads.htm#ref_983_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1031_7" HREF="terminal_interface-curses__ads.htm#ref_984_7">Do_Idl</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1033_16">IDL_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1033_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1033_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1033_16">IDL_Ok</A>, "idlok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1033_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_983_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_984_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_982_14">Use_Insert_Delete_Line</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1041_14" HREF="terminal_interface-curses__ads.htm#ref_989_14">Use_Insert_Delete_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_1042_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1043_7" HREF="terminal_interface-curses__ads.htm#ref_991_7">Do_Idc</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1045_16">IDC_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1045_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1045_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1045_16">IDC_Ok</A>, "idcok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1045_16">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_990_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_991_7">Do_Idc</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_989_14">Use_Insert_Delete_Character</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1053_14" HREF="terminal_interface-curses__ads.htm#ref_996_14">Leave_Cursor_After_Update</A></FONT> (<FONT COLOR=red><A NAME="ref_1054_7" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1055_7" HREF="terminal_interface-curses__ads.htm#ref_998_7">Do_Leave</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1057_16">Leave_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1057_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1057_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1057_16">Leave_Ok</A>, "leaveok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1057_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_998_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_14">Leave_Cursor_After_Update</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1065_14" HREF="terminal_interface-curses__ads.htm#ref_1003_14">Immediate_Update_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_1066_7" HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1067_7" HREF="terminal_interface-curses__ads.htm#ref_1005_7">Mode</A></FONT> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1069_16">Immedok</A></FONT> (<FONT COLOR=red><A NAME="ref_1069_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1069_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1069_16">Immedok</A>, "immedok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1069_16">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1005_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1003_14">Immediate_Update_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1077_14" HREF="terminal_interface-curses__ads.htm#ref_1010_14">Allow_Scrolling</A></FONT> (<FONT COLOR=red><A NAME="ref_1078_7" HREF="terminal_interface-curses__ads.htm#ref_1011_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1079_7" HREF="terminal_interface-curses__ads.htm#ref_1012_7">Mode</A></FONT> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1081_16">Scrollok</A></FONT> (<FONT COLOR=red><A NAME="ref_1081_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1081_40">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1081_16">Scrollok</A>, "scrollok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1081_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1011_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1012_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1010_14">Allow_Scrolling</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1089_13" HREF="terminal_interface-curses__ads.htm#ref_1016_13">Scrolling_Allowed</A></FONT> (<FONT COLOR=red><A NAME="ref_1089_32" HREF="terminal_interface-curses__ads.htm#ref_1016_32">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_93_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_32">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1922_4">Offset_scroll</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1016_13">Scrolling_Allowed</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1096_14" HREF="terminal_interface-curses__ads.htm#ref_1021_14">Set_Scroll_Region</A></FONT> (<FONT COLOR=red><A NAME="ref_1097_7" HREF="terminal_interface-curses__ads.htm#ref_1022_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1098_7" HREF="terminal_interface-curses__ads.htm#ref_1023_7">Top_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1099_7" HREF="terminal_interface-curses__ads.htm#ref_1024_7">Bottom_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1101_16">Wsetscrreg</A></FONT> (<FONT COLOR=red><A NAME="ref_1101_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1102_28">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1103_28">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1101_16">Wsetscrreg</A>, "wsetscrreg"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1101_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1022_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1023_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1024_7">Bottom_Line</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1021_14">Set_Scroll_Region</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1112_14" HREF="terminal_interface-curses__ads.htm#ref_1034_14">Update_Screen</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1114_16">Do_Update</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1114_16">Do_Update</A>, "doupdate"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1114_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1034_14">Update_Screen</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1122_14" HREF="terminal_interface-curses__ads.htm#ref_1039_14">Refresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1122_23" HREF="terminal_interface-curses__ads.htm#ref_1039_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1124_16">Wrefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1124_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1124_16">Wrefresh</A>, "wrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1124_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1039_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1039_14">Refresh</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1132_14" HREF="terminal_interface-curses__ads.htm#ref_1046_14">Refresh_Without_Update</A></FONT> (<FONT COLOR=red><A NAME="ref_1133_7" HREF="terminal_interface-curses__ads.htm#ref_1047_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1135_16">Wnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1135_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1135_16">Wnoutrefresh</A>, "wnoutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1135_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1047_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1046_14">Refresh_Without_Update</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1143_14" HREF="terminal_interface-curses__ads.htm#ref_1053_14">Redraw</A></FONT> (<FONT COLOR=red><A NAME="ref_1143_22" HREF="terminal_interface-curses__ads.htm#ref_1053_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1145_16">Redrawwin</A></FONT> (<FONT COLOR=red><A NAME="ref_1145_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1145_16">Redrawwin</A>, "redrawwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1145_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1053_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1053_14">Redraw</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1153_14" HREF="terminal_interface-curses__ads.htm#ref_1057_14">Redraw</A></FONT> (<FONT COLOR=red><A NAME="ref_1154_7" HREF="terminal_interface-curses__ads.htm#ref_1057_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1155_7" HREF="terminal_interface-curses__ads.htm#ref_1058_22">Begin_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1156_7" HREF="terminal_interface-curses__ads.htm#ref_1059_22">Line_Count</A></FONT> : <b>in</b> Positive) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1158_16">Wredrawln</A></FONT> (<FONT COLOR=red><A NAME="ref_1158_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1158_41">First</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1158_56">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1158_16">Wredrawln</A>, "wredrawln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1158_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1057_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1058_22">Begin_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1059_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1057_14">Redraw</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1170_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Erase</A></FONT> (<FONT COLOR=red><A NAME="ref_1170_21" HREF="terminal_interface-curses__ads.htm#ref_1068_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1172_16">Werase</A></FONT> (<FONT COLOR=red><A NAME="ref_1172_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1172_16">Werase</A>, "werase"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1172_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1068_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Erase</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1180_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Clear</A></FONT> (<FONT COLOR=red><A NAME="ref_1180_21" HREF="terminal_interface-curses__ads.htm#ref_1075_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1182_16">Wclear</A></FONT> (<FONT COLOR=red><A NAME="ref_1182_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1182_16">Wclear</A>, "wclear"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1182_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1075_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Clear</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1190_14" HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear_To_End_Of_Screen</A></FONT> (<FONT COLOR=red><A NAME="ref_1190_38" HREF="terminal_interface-curses__ads.htm#ref_1082_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1192_16">Wclearbot</A></FONT> (<FONT COLOR=red><A NAME="ref_1192_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1192_16">Wclearbot</A>, "wclrtobot"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1192_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1082_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear_To_End_Of_Screen</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1200_14" HREF="terminal_interface-curses__ads.htm#ref_1088_14">Clear_To_End_Of_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1200_36" HREF="terminal_interface-curses__ads.htm#ref_1089_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1202_16">Wcleareol</A></FONT> (<FONT COLOR=red><A NAME="ref_1202_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1202_16">Wcleareol</A>, "wclrtoeol"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1202_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1089_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1088_14">Clear_To_End_Of_Line</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1210_14" HREF="terminal_interface-curses__ads.htm#ref_1102_14">Set_Background</A></FONT> (<FONT COLOR=red><A NAME="ref_1211_7" HREF="terminal_interface-curses__ads.htm#ref_1103_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1212_7" HREF="terminal_interface-curses__ads.htm#ref_1104_7">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1214_17">WBackground</A></FONT> (<FONT COLOR=red><A NAME="ref_1214_30">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1214_45">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>); <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1214_17">WBackground</A>, "wbkgdset"); <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_1214_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1103_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1104_7">Ch</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1102_14">Set_Background</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1220_14" HREF="terminal_interface-curses__ads.htm#ref_1110_14">Change_Background</A></FONT> (<FONT COLOR=red><A NAME="ref_1221_7" HREF="terminal_interface-curses__ads.htm#ref_1111_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1222_7" HREF="terminal_interface-curses__ads.htm#ref_1112_7">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1224_16">WChangeBkgd</A></FONT> (<FONT COLOR=red><A NAME="ref_1224_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1224_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1224_16">WChangeBkgd</A>, "wbkgd"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1224_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1111_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1112_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1110_14">Change_Background</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1232_13" HREF="terminal_interface-curses__ads.htm#ref_1119_13">Get_Background</A></FONT> (<FONT COLOR=red><A NAME="ref_1232_29" HREF="terminal_interface-curses__ads.htm#ref_1119_29">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1235_16">Wgetbkgd</A></FONT> (<FONT COLOR=red><A NAME="ref_1235_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1235_16">Wgetbkgd</A>, "getbkgd"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1235_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1119_29">Win</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_13">Get_Background</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1241_14" HREF="terminal_interface-curses__ads.htm#ref_1146_14">Change_Lines_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_1241_35" HREF="terminal_interface-curses__ads.htm#ref_1146_35">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1242_35" HREF="terminal_interface-curses__ads.htm#ref_1147_35">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1243_35" HREF="terminal_interface-curses__ads.htm#ref_1148_35">Count</A></FONT> : <b>in</b> Positive; <FONT COLOR=red><A NAME="ref_1244_35" HREF="terminal_interface-curses__ads.htm#ref_1149_35">State</A></FONT> : <b>in</b> Boolean) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1246_16">Wtouchln</A></FONT> (<FONT COLOR=red><A NAME="ref_1246_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1247_26">Sta</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1248_26">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1249_26">Chg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1246_16">Wtouchln</A>, "wtouchln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1246_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1146_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1147_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1148_35">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1149_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Change_Lines_Status</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1258_14" HREF="terminal_interface-curses__ads.htm#ref_1135_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1258_21" HREF="terminal_interface-curses__ads.htm#ref_1135_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <FONT COLOR=red><A NAME="ref_1260_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1261_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1260_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1261_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1260_7">Y</A>), True); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1135_14">Touch</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1267_14" HREF="terminal_interface-curses__ads.htm#ref_1130_14">Untouch</A></FONT> (<FONT COLOR=red><A NAME="ref_1267_23" HREF="terminal_interface-curses__ads.htm#ref_1130_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <FONT COLOR=red><A NAME="ref_1269_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1270_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1130_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1269_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1270_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1130_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1269_7">Y</A>), False); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1130_14">Untouch</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1276_14" HREF="terminal_interface-curses__ads.htm#ref_1139_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1276_21" HREF="terminal_interface-curses__ads.htm#ref_1139_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1277_21" HREF="terminal_interface-curses__ads.htm#ref_1140_21">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1278_21" HREF="terminal_interface-curses__ads.htm#ref_1141_21">Count</A></FONT> : <b>in</b> Positive) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1139_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1140_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1141_21">Count</A>, True); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1139_14">Touch</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1284_13" HREF="terminal_interface-curses__ads.htm#ref_1154_13">Is_Touched</A></FONT> (<FONT COLOR=red><A NAME="ref_1285_7" HREF="terminal_interface-curses__ads.htm#ref_1154_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1286_7" HREF="terminal_interface-curses__ads.htm#ref_1155_25">Line</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1288_16">WLineTouched</A></FONT> (<FONT COLOR=red><A NAME="ref_1288_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1288_42">L</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1288_16">WLineTouched</A>, "is_linetouched"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1288_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1154_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1155_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1154_13">Is_Touched</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1298_13" HREF="terminal_interface-curses__ads.htm#ref_1159_13">Is_Touched</A></FONT> (<FONT COLOR=red><A NAME="ref_1299_7" HREF="terminal_interface-curses__ads.htm#ref_1159_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1301_16">WWinTouched</A></FONT> (<FONT COLOR=red><A NAME="ref_1301_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1301_16">WWinTouched</A>, "is_wintouched"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1301_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1159_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1159_13">Is_Touched</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1311_14" HREF="terminal_interface-curses__ads.htm#ref_1168_14">Copy</A></FONT> (<FONT COLOR=red><A NAME="ref_1312_7" HREF="terminal_interface-curses__ads.htm#ref_1169_7">Source_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1313_7" HREF="terminal_interface-curses__ads.htm#ref_1170_7">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1171_7">Source_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1315_7" HREF="terminal_interface-curses__ads.htm#ref_1172_7">Source_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1316_7" HREF="terminal_interface-curses__ads.htm#ref_1173_7">Destination_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1317_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Destination_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1318_7" HREF="terminal_interface-curses__ads.htm#ref_1175_7">Destination_Bottom_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1319_7" HREF="terminal_interface-curses__ads.htm#ref_1176_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1320_7" HREF="terminal_interface-curses__ads.htm#ref_1177_7">Non_Destructive_Mode</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1322_16">Copywin</A></FONT> (<FONT COLOR=red><A NAME="ref_1322_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1323_25">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1324_25">Str</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1325_25">Slc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1326_25">Dtr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1327_25">Dlc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1328_25">Dbr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1329_25">Drc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1330_25">Ndm</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1322_16">Copywin</A>, "copywin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1322_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1169_7">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1170_7">Destination_Window</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1171_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1172_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1173_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1175_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1176_7">Destination_Right_Column</A>), Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1177_7">Non_Destructive_Mode</A>) ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1168_14">Copy</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1347_14" HREF="terminal_interface-curses__ads.htm#ref_1182_14">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="ref_1348_7" HREF="terminal_interface-curses__ads.htm#ref_1182_25">Source_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1349_7" HREF="terminal_interface-curses__ads.htm#ref_1183_25">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1351_16">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="ref_1351_27">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1351_41">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1351_16">Overwrite</A>, "overwrite"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1351_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1182_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1183_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1182_14">Overwrite</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1359_14" HREF="terminal_interface-curses__ads.htm#ref_1188_14">Overlay</A></FONT> (<FONT COLOR=red><A NAME="ref_1360_7" HREF="terminal_interface-curses__ads.htm#ref_1188_23">Source_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1361_7" HREF="terminal_interface-curses__ads.htm#ref_1189_23">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1363_16">Overlay</A></FONT> (<FONT COLOR=red><A NAME="ref_1363_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1363_39">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1363_16">Overlay</A>, "overlay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1363_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1188_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1189_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1188_14">Overlay</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1372_14" HREF="terminal_interface-curses__ads.htm#ref_1198_14">Insert_Delete_Lines</A></FONT> (<FONT COLOR=red><A NAME="ref_1373_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1374_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Lines</A></FONT> : <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="ref_1376_16">Winsdelln</A></FONT> (<FONT COLOR=red><A NAME="ref_1376_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1376_39">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1376_16">Winsdelln</A>, "winsdelln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1376_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1198_14">Insert_Delete_Lines</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1384_14" HREF="terminal_interface-curses__ads.htm#ref_1206_14">Delete_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1384_27" HREF="terminal_interface-curses__ads.htm#ref_1206_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1198_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1206_27">Win</A>, -1); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1206_14">Delete_Line</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1390_14" HREF="terminal_interface-curses__ads.htm#ref_1212_14">Insert_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1390_27" HREF="terminal_interface-curses__ads.htm#ref_1212_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1198_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1212_27">Win</A>, 1); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1212_14">Insert_Line</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1398_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Get_Size</A></FONT> (<FONT COLOR=red><A NAME="ref_1399_7" HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1400_7" HREF="terminal_interface-curses__ads.htm#ref_1224_7">Number_Of_Lines</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_1401_7" HREF="terminal_interface-curses__ads.htm#ref_1225_7">Number_Of_Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>is</b> <FONT COLOR=green><EM>-- Please note: in ncurses they are one off.</EM></FONT> <FONT COLOR=green><EM>-- This might be different in other implementations of curses</EM></FONT> <FONT COLOR=red><A NAME="ref_1405_7">Y</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1910_4">Offset_maxy</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1929_4">Offset_XY</A>); <FONT COLOR=red><A NAME="ref_1407_7">X</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1911_4">Offset_maxx</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1929_4">Offset_XY</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1224_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1405_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1225_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1407_7">X</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Get_Size</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1414_14" HREF="terminal_interface-curses__ads.htm#ref_1230_14">Get_Window_Position</A></FONT> (<FONT COLOR=red><A NAME="ref_1415_7" HREF="terminal_interface-curses__ads.htm#ref_1231_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1416_7" HREF="terminal_interface-curses__ads.htm#ref_1232_7">Top_Left_Line</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1417_7" HREF="terminal_interface-curses__ads.htm#ref_1233_7">Top_Left_Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <FONT COLOR=red><A NAME="ref_1419_7">Y</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1231_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1912_4">Offset_begy</A>); <FONT COLOR=red><A NAME="ref_1420_7">X</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1231_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1913_4">Offset_begx</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1232_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1419_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1233_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1420_7">X</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1230_14">Get_Window_Position</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1426_14" HREF="terminal_interface-curses__ads.htm#ref_1238_14">Get_Cursor_Position</A></FONT> (<FONT COLOR=red><A NAME="ref_1427_7" HREF="terminal_interface-curses__ads.htm#ref_1239_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1428_7" HREF="terminal_interface-curses__ads.htm#ref_1240_7">Line</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1429_7" HREF="terminal_interface-curses__ads.htm#ref_1241_7">Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <FONT COLOR=red><A NAME="ref_1431_7">Y</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1239_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1914_4">Offset_cury</A>); <FONT COLOR=red><A NAME="ref_1432_7">X</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#ref_90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1239_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1915_4">Offset_curx</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1240_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1431_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1241_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1432_7">X</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1238_14">Get_Cursor_Position</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1438_14" HREF="terminal_interface-curses__ads.htm#ref_1246_14">Get_Origin_Relative_To_Parent</A></FONT> (<FONT COLOR=red><A NAME="ref_1439_7" HREF="terminal_interface-curses__ads.htm#ref_1247_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1440_7" HREF="terminal_interface-curses__ads.htm#ref_1248_7">Top_Left_Line</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1441_7" HREF="terminal_interface-curses__ads.htm#ref_1249_7">Top_Left_Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1442_7" HREF="terminal_interface-curses__ads.htm#ref_1250_7">Is_Not_A_Subwindow</A></FONT> : <b>out</b> Boolean) <b>is</b> <FONT COLOR=red><A NAME="ref_1444_7">Y</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1247_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1917_4">Offset_pary</A>); <FONT COLOR=red><A NAME="ref_1445_7">X</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1247_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1918_4">Offset_parx</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1444_7">Y</A> = -1 <b>then</b> <A HREF="terminal_interface-curses__ads.htm#ref_1248_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'Last; <A HREF="terminal_interface-curses__ads.htm#ref_1249_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'Last; <A HREF="terminal_interface-curses__ads.htm#ref_1250_7">Is_Not_A_Subwindow</A> := True; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#ref_1248_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1444_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1249_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1445_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1250_7">Is_Not_A_Subwindow</A> := False; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1246_14">Get_Origin_Relative_To_Parent</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_1458_13" HREF="terminal_interface-curses__ads.htm#ref_1261_13">New_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_1458_22" HREF="terminal_interface-curses__ads.htm#ref_1261_22">Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_1459_22" HREF="terminal_interface-curses__ads.htm#ref_1262_22">Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1461_16">Newpad</A></FONT> (<FONT COLOR=red><A NAME="ref_1461_24">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1461_39">Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1461_16">Newpad</A>, "newpad"); <FONT COLOR=red><A NAME="ref_1464_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_1464_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1461_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1261_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1262_22">Columns</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1464_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1464_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1261_13">New_Pad</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1473_13" HREF="terminal_interface-curses__ads.htm#ref_1267_13">Sub_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_1474_7" HREF="terminal_interface-curses__ads.htm#ref_1268_7">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1269_7">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1270_7">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>; <FONT COLOR=red><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1271_7">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1272_7">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1480_16">Subpad</A></FONT> (<FONT COLOR=red><A NAME="ref_1481_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1482_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1483_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1484_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1485_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1480_16">Subpad</A>, "subpad"); <FONT COLOR=red><A NAME="ref_1488_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_1488_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1480_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1268_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1269_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1270_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1271_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1272_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1488_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1488_7">W</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1267_13">Sub_Pad</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1501_14" HREF="terminal_interface-curses__ads.htm#ref_1277_14">Refresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1502_7" HREF="terminal_interface-curses__ads.htm#ref_1278_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1503_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">Source_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1504_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Source_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1505_7" HREF="terminal_interface-curses__ads.htm#ref_1281_7">Destination_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1282_7">Destination_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1283_7">Destination_Bottom_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1284_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1510_16">Prefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1511_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1512_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1513_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1514_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1515_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1516_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1517_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1510_16">Prefresh</A>, "prefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1510_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1278_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1281_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1282_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1283_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1284_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1277_14">Refresh</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1531_14" HREF="terminal_interface-curses__ads.htm#ref_1289_14">Refresh_Without_Update</A></FONT> (<FONT COLOR=red><A NAME="ref_1532_7" HREF="terminal_interface-curses__ads.htm#ref_1290_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1533_7" HREF="terminal_interface-curses__ads.htm#ref_1291_7">Source_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1534_7" HREF="terminal_interface-curses__ads.htm#ref_1292_7">Source_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1535_7" HREF="terminal_interface-curses__ads.htm#ref_1293_7">Destination_Top_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1536_7" HREF="terminal_interface-curses__ads.htm#ref_1294_7">Destination_Left_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1295_7">Destination_Bottom_Row</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1538_7" HREF="terminal_interface-curses__ads.htm#ref_1296_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1540_16">Pnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1541_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1542_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1543_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1544_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1545_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1546_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1547_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pnoutrefresh</A>, "pnoutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1290_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1291_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1292_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1293_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1294_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1295_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1296_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1289_14">Refresh_Without_Update</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1561_14" HREF="terminal_interface-curses__ads.htm#ref_1301_14">Add_Character_To_Pad_And_Echo_It</A></FONT> (<FONT COLOR=red><A NAME="ref_1562_7" HREF="terminal_interface-curses__ads.htm#ref_1302_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1563_7" HREF="terminal_interface-curses__ads.htm#ref_1303_7">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1565_16">Pechochar</A></FONT> (<FONT COLOR=red><A NAME="ref_1565_27">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1565_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1565_16">Pechochar</A>, "pechochar"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1565_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1302_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1303_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1301_14">Add_Character_To_Pad_And_Echo_It</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1574_14" HREF="terminal_interface-curses__ads.htm#ref_1306_14">Add_Character_To_Pad_And_Echo_It</A></FONT> (<FONT COLOR=red><A NAME="ref_1575_7" HREF="terminal_interface-curses__ads.htm#ref_1307_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1576_7" HREF="terminal_interface-curses__ads.htm#ref_1308_7">Ch</A></FONT> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_1301_14">Add_Character_To_Pad_And_Echo_It</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1307_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#ref_1308_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Add_Character_To_Pad_And_Echo_It</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1586_14" HREF="terminal_interface-curses__ads.htm#ref_1316_14">Scroll</A></FONT> (<FONT COLOR=red><A NAME="ref_1586_22" HREF="terminal_interface-curses__ads.htm#ref_1316_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1587_22" HREF="terminal_interface-curses__ads.htm#ref_1317_22">Amount</A></FONT> : <b>in</b> Integer := 1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1589_16">Wscrl</A></FONT> (<FONT COLOR=red><A NAME="ref_1589_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1589_37">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1589_16">Wscrl</A>, "wscrl"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1589_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1316_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1317_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1316_14">Scroll</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1599_14" HREF="terminal_interface-curses__ads.htm#ref_1328_14">Delete_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_1599_32" HREF="terminal_interface-curses__ads.htm#ref_1328_32">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1601_16">Wdelch</A></FONT> (<FONT COLOR=red><A NAME="ref_1601_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1601_16">Wdelch</A>, "wdelch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1601_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1328_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1328_14">Delete_Character</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1609_14" HREF="terminal_interface-curses__ads.htm#ref_1333_14">Delete_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1334_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1611_7" HREF="terminal_interface-curses__ads.htm#ref_1335_7">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1612_7" HREF="terminal_interface-curses__ads.htm#ref_1336_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1614_16">Mvwdelch</A></FONT> (<FONT COLOR=red><A NAME="ref_1614_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1615_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1616_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1614_16">Mvwdelch</A>, "mvwdelch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1614_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1334_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1336_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1333_14">Delete_Character</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_1624_13" HREF="terminal_interface-curses__ads.htm#ref_1346_13">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1624_19" HREF="terminal_interface-curses__ads.htm#ref_1346_19">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1627_16">Winch</A></FONT> (<FONT COLOR=red><A NAME="ref_1627_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1627_16">Winch</A>, "winch"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1627_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1346_19">Win</A>)); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1346_13">Peek</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1633_13" HREF="terminal_interface-curses__ads.htm#ref_1352_13">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1354_7">Line</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1636_7" HREF="terminal_interface-curses__ads.htm#ref_1355_7">Column</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1638_16">Mvwinch</A></FONT> (<FONT COLOR=red><A NAME="ref_1638_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1639_25">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1640_25">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinch</A>, "mvwinch"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1354_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1355_7">Column</A>))); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1352_13">Peek</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1646_14" HREF="terminal_interface-curses__ads.htm#ref_1365_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1646_22" HREF="terminal_interface-curses__ads.htm#ref_1365_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1647_22" HREF="terminal_interface-curses__ads.htm#ref_1366_22">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1649_16">Winsch</A></FONT> (<FONT COLOR=red><A NAME="ref_1649_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1649_38">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1649_16">Winsch</A>, "winsch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1649_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1365_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1366_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1365_14">Insert</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1657_14" HREF="terminal_interface-curses__ads.htm#ref_1371_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1658_7" HREF="terminal_interface-curses__ads.htm#ref_1371_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1659_7" HREF="terminal_interface-curses__ads.htm#ref_1372_22">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1660_7" HREF="terminal_interface-curses__ads.htm#ref_1373_22">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1661_7" HREF="terminal_interface-curses__ads.htm#ref_1374_22">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1663_16">Mvwinsch</A></FONT> (<FONT COLOR=red><A NAME="ref_1663_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1664_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1665_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1666_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1663_16">Mvwinsch</A>, "mvwinsch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1663_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1371_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1372_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1373_22">Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1374_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1371_14">Insert</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1677_14" HREF="terminal_interface-curses__ads.htm#ref_1383_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1677_22" HREF="terminal_interface-curses__ads.htm#ref_1383_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1678_22" HREF="terminal_interface-curses__ads.htm#ref_1384_22">Str</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_1679_22" HREF="terminal_interface-curses__ads.htm#ref_1385_22">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1681_16">Winsnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1681_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1682_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_1683_26">Len</A></FONT> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1681_16">Winsnstr</A>, "winsnstr"); <FONT COLOR=red><A NAME="ref_1686_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1384_22">Str</A>'Length); <FONT COLOR=red><A NAME="ref_1687_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1384_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1686_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1687_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1681_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1383_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1686_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1385_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1383_14">Insert</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1695_14" HREF="terminal_interface-curses__ads.htm#ref_1392_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1696_7" HREF="terminal_interface-curses__ads.htm#ref_1392_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1697_7" HREF="terminal_interface-curses__ads.htm#ref_1393_22">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1698_7" HREF="terminal_interface-curses__ads.htm#ref_1394_22">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1699_7" HREF="terminal_interface-curses__ads.htm#ref_1395_22">Str</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_1700_7" HREF="terminal_interface-curses__ads.htm#ref_1396_22">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1702_16">Mvwinsnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1702_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1703_28">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1704_28">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1705_28">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_1706_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1702_16">Mvwinsnstr</A>, "mvwinsnstr"); <FONT COLOR=red><A NAME="ref_1709_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1395_22">Str</A>'Length); <FONT COLOR=red><A NAME="ref_1710_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1395_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1709_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1710_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1702_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1392_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1393_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1394_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1709_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1396_22">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1392_14">Insert</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1719_14" HREF="terminal_interface-curses__ads.htm#ref_1408_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1719_20" HREF="terminal_interface-curses__ads.htm#ref_1408_20">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1720_20" HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A></FONT> : <b>out</b> String; <FONT COLOR=red><A NAME="ref_1721_20" HREF="terminal_interface-curses__ads.htm#ref_1410_20">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1723_16">Winnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1723_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1724_25">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_1725_25">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1723_16">Winnstr</A>, "winnstr"); <FONT COLOR=red><A NAME="ref_1728_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1410_20">Len</A>; <FONT COLOR=red><A NAME="ref_1729_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'Length); <FONT COLOR=red><A NAME="ref_1730_7">Cnt</A></FONT> : Natural; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1728_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_1728_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1728_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#ref_1729_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.char'First; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1723_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1408_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1729_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1728_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1729_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1730_7">Cnt</A>, True); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1730_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1730_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1409_20">Str</A>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1408_14">Peek</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1748_14" HREF="terminal_interface-curses__ads.htm#ref_1417_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1749_7" HREF="terminal_interface-curses__ads.htm#ref_1417_20">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1750_7" HREF="terminal_interface-curses__ads.htm#ref_1418_20">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1751_7" HREF="terminal_interface-curses__ads.htm#ref_1419_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1752_7" HREF="terminal_interface-curses__ads.htm#ref_1420_20">Str</A></FONT> : <b>out</b> String; <FONT COLOR=red><A NAME="ref_1753_7" HREF="terminal_interface-curses__ads.htm#ref_1421_20">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1417_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1418_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1419_20">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1408_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1417_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1420_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1421_20">Len</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1417_14">Peek</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1760_14" HREF="terminal_interface-curses__ads.htm#ref_1432_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1761_7" HREF="terminal_interface-curses__ads.htm#ref_1432_20">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1762_7" HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_376_9">Attributed_String</A>; <FONT COLOR=red><A NAME="ref_1763_7" HREF="terminal_interface-curses__ads.htm#ref_1434_20">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1765_16">Winchnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1765_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1766_27">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_59_9">chtype_array</A>; <FONT COLOR=green><EM>-- out</EM></FONT> <FONT COLOR=red><A NAME="ref_1767_27">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1765_16">Winchnstr</A>, "winchnstr"); <FONT COLOR=red><A NAME="ref_1770_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1434_20">Len</A>; <FONT COLOR=red><A NAME="ref_1771_7">Txt</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__adb.htm#ref_59_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'Length) := (0 => <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>); <FONT COLOR=red><A NAME="ref_1773_7">Cnt</A></FONT> : Natural := 0; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1770_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_1770_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1770_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1765_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1432_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1771_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1770_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>for</b> <FONT COLOR=red><A NAME="ref_1784_11">To</A></FONT> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'<b>Range</b> <b>loop</b> <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1771_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1784_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1771_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A>)); <A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A> + 1; <b>end</b> <b>loop</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1773_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1433_20">Str</A>'Last) := (<b>others</b> => (Ch => ' ', Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>)); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1432_14">Peek</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1797_14" HREF="terminal_interface-curses__ads.htm#ref_1441_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1798_7" HREF="terminal_interface-curses__ads.htm#ref_1441_20">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1799_7" HREF="terminal_interface-curses__ads.htm#ref_1442_20">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1800_7" HREF="terminal_interface-curses__ads.htm#ref_1443_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1801_7" HREF="terminal_interface-curses__ads.htm#ref_1444_20">Str</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_376_9">Attributed_String</A>; <FONT COLOR=red><A NAME="ref_1802_7" HREF="terminal_interface-curses__ads.htm#ref_1445_20">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1441_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1442_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1443_20">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1432_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1441_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1444_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1445_20">Len</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1441_14">Peek</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1809_14" HREF="terminal_interface-curses__ads.htm#ref_1457_14">Get</A></FONT> (<FONT COLOR=red><A NAME="ref_1809_19" HREF="terminal_interface-curses__ads.htm#ref_1457_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1810_19" HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A></FONT> : <b>out</b> String; <FONT COLOR=red><A NAME="ref_1811_19" HREF="terminal_interface-curses__ads.htm#ref_1459_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1813_16">Wgetnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1813_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1814_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_1815_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1813_16">Wgetnstr</A>, "wgetnstr"); <FONT COLOR=red><A NAME="ref_1818_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1459_19">Len</A>; <FONT COLOR=red><A NAME="ref_1819_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'Length); <FONT COLOR=red><A NAME="ref_1820_7">Cnt</A></FONT> : Natural; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1818_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_1818_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1818_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#ref_1819_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_23_9">Interfaces</A>.C.char'First; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1813_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1819_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1818_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1819_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1820_7">Cnt</A>, True); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1820_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1820_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1458_19">Str</A>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1457_14">Get</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1838_14" HREF="terminal_interface-curses__ads.htm#ref_1468_14">Get</A></FONT> (<FONT COLOR=red><A NAME="ref_1839_7" HREF="terminal_interface-curses__ads.htm#ref_1468_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_1840_7" HREF="terminal_interface-curses__ads.htm#ref_1469_19">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_1841_7" HREF="terminal_interface-curses__ads.htm#ref_1470_19">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_1842_7" HREF="terminal_interface-curses__ads.htm#ref_1471_19">Str</A></FONT> : <b>out</b> String; <FONT COLOR=red><A NAME="ref_1843_7" HREF="terminal_interface-curses__ads.htm#ref_1472_19">Len</A></FONT> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#ref_505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1469_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1470_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1457_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1471_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1472_19">Len</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1468_14">Get</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_1850_14" HREF="terminal_interface-curses__ads.htm#ref_1493_14">Init_Soft_Label_Keys</A></FONT> (<FONT COLOR=red><A NAME="ref_1851_7" HREF="terminal_interface-curses__ads.htm#ref_1494_7">Format</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1485_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1485_35">Three_Two_Three</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1853_16">Slk_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_1853_26">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1853_16">Slk_Init</A>, "slk_init"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1853_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1485_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1494_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1493_14">Init_Soft_Label_Keys</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1861_14" HREF="terminal_interface-curses__ads.htm#ref_1499_14">Set_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1861_34" HREF="terminal_interface-curses__ads.htm#ref_1499_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1489_9">Label_Number</A>; <FONT COLOR=red><A NAME="ref_1862_34" HREF="terminal_interface-curses__ads.htm#ref_1500_34">Text</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_1863_34" HREF="terminal_interface-curses__ads.htm#ref_1501_34">Fmt</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1490_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1490_33">Left</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1865_16">Slk_Set</A></FONT> (<FONT COLOR=red><A NAME="ref_1865_25">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1866_25">Txt</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_1867_25">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1865_16">Slk_Set</A>, "slk_set"); <FONT COLOR=red><A NAME="ref_1870_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1500_34">Text</A>'Length); <FONT COLOR=red><A NAME="ref_1871_7">Len</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1500_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1870_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1871_7">Len</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1865_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1499_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1870_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1490_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1501_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1499_14">Set_Soft_Label_Key</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1880_14" HREF="terminal_interface-curses__ads.htm#ref_1506_14">Refresh_Soft_Label_Keys</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1882_16">Slk_Refresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1882_16">Slk_Refresh</A>, "slk_refresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1882_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1506_14">Refresh_Soft_Label_Keys</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1890_14" HREF="terminal_interface-curses__ads.htm#ref_1511_14">Refresh_Soft_Label_Keys_Without_Update</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1892_16">Slk_Noutrefresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1892_16">Slk_Noutrefresh</A>, "slk_noutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1892_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1511_14">Refresh_Soft_Label_Keys_Without_Update</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1900_14" HREF="terminal_interface-curses__ads.htm#ref_1516_14">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1900_34" HREF="terminal_interface-curses__ads.htm#ref_1516_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1489_9">Label_Number</A>; <FONT COLOR=red><A NAME="ref_1901_34" HREF="terminal_interface-curses__ads.htm#ref_1517_34">Text</A></FONT> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1903_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="ref_1903_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1903_16">Slk_Label</A>, "slk_label"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1903_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1516_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1517_34">Text</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1516_14">Get_Soft_Label_Key</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1909_13" HREF="terminal_interface-curses__ads.htm#ref_1521_13">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1909_33" HREF="terminal_interface-curses__ads.htm#ref_1521_33">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1489_9">Label_Number</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1911_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="ref_1911_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1911_16">Slk_Label</A>, "slk_label"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1911_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1521_33">Label</A>))); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1521_13">Get_Soft_Label_Key</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1917_14" HREF="terminal_interface-curses__ads.htm#ref_1527_14">Clear_Soft_Label_Keys</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1919_16">Slk_Clear</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1919_16">Slk_Clear</A>, "slk_clear"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1919_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1527_14">Clear_Soft_Label_Keys</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1927_14" HREF="terminal_interface-curses__ads.htm#ref_1532_14">Restore_Soft_Label_Keys</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1929_16">Slk_Restore</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Restore</A>, "slk_restore"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1532_14">Restore_Soft_Label_Keys</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1937_14" HREF="terminal_interface-curses__ads.htm#ref_1537_14">Touch_Soft_Label_Keys</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1939_16">Slk_Touch</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1939_16">Slk_Touch</A>, "slk_touch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1939_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1537_14">Touch_Soft_Label_Keys</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1947_14" HREF="terminal_interface-curses__ads.htm#ref_1542_14">Switch_Soft_Label_Key_Attributes</A></FONT> (<FONT COLOR=red><A NAME="ref_1948_7" HREF="terminal_interface-curses__ads.htm#ref_1543_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>; <FONT COLOR=red><A NAME="ref_1949_7" HREF="terminal_interface-curses__ads.htm#ref_1544_7">On</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1951_16">Slk_Attron</A></FONT> (<FONT COLOR=red><A NAME="ref_1951_28">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1951_16">Slk_Attron</A>, "slk_attron"); <b>function</b> <FONT COLOR=red><A NAME="ref_1953_16">Slk_Attroff</A></FONT> (<FONT COLOR=red><A NAME="ref_1953_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attroff</A>, "slk_attroff"); <FONT COLOR=red><A NAME="ref_1956_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1957_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (Ch => Character'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_1543_7">Attr</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1544_7">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1951_16">Slk_Attron</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1957_7">Ch</A>)); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1957_7">Ch</A>)); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1542_14">Switch_Soft_Label_Key_Attributes</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_1971_14" HREF="terminal_interface-curses__ads.htm#ref_1550_14">Set_Soft_Label_Key_Attributes</A></FONT> (<FONT COLOR=red><A NAME="ref_1972_7" HREF="terminal_interface-curses__ads.htm#ref_1551_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>; <FONT COLOR=red><A NAME="ref_1973_7" HREF="terminal_interface-curses__ads.htm#ref_1552_7">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1975_16">Slk_Attrset</A></FONT> (<FONT COLOR=red><A NAME="ref_1975_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1975_16">Slk_Attrset</A>, "slk_attrset"); <FONT COLOR=red><A NAME="ref_1978_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (Ch => Character'First, Attr => <A HREF="terminal_interface-curses__ads.htm#ref_1551_7">Attr</A>, Color => <A HREF="terminal_interface-curses__ads.htm#ref_1552_7">Color</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1975_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1978_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1550_14">Set_Soft_Label_Key_Attributes</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1987_13" HREF="terminal_interface-curses__ads.htm#ref_1557_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1989_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1989_16">Slk_Attr</A>, "slk_attr"); <FONT COLOR=red><A NAME="ref_1992_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1989_16">Slk_Attr</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1992_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1557_13">Get_Soft_Label_Key_Attributes</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_1997_13" HREF="terminal_interface-curses__ads.htm#ref_1561_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_1999_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_1999_16">Slk_Attr</A>, "slk_attr"); <FONT COLOR=red><A NAME="ref_2002_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1999_16">Slk_Attr</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2002_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1561_13">Get_Soft_Label_Key_Attributes</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2007_14" HREF="terminal_interface-curses__ads.htm#ref_1566_14">Set_Soft_Label_Key_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_2007_40" HREF="terminal_interface-curses__ads.htm#ref_1566_40">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2009_16">Slk_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_2009_27">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2009_16">Slk_Color</A>, "slk_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2009_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1566_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1566_14">Set_Soft_Label_Key_Color</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2018_14" HREF="terminal_interface-curses__ads.htm#ref_1580_14">Enable_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_2018_26" HREF="terminal_interface-curses__ads.htm#ref_1580_26">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>; <FONT COLOR=red><A NAME="ref_2019_26" HREF="terminal_interface-curses__ads.htm#ref_1581_26">Enable</A></FONT> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2021_16">Keyok</A></FONT> (<FONT COLOR=red><A NAME="ref_2021_23">Keycode</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_2022_23">On_Off</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2021_16">Keyok</A>, "keyok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2021_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1580_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1581_26">Enable</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1580_14">Enable_Key</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2031_14" HREF="terminal_interface-curses__ads.htm#ref_1590_14">Define_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_2031_26" HREF="terminal_interface-curses__ads.htm#ref_1590_26">Definition</A></FONT> : <b>in</b> String; <FONT COLOR=red><A NAME="ref_2032_26" HREF="terminal_interface-curses__ads.htm#ref_1591_26">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2034_16">Defkey</A></FONT> (<FONT COLOR=red><A NAME="ref_2034_24">Def</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_2035_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2034_16">Defkey</A>, "define_key"); <FONT COLOR=red><A NAME="ref_2038_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1590_26">Definition</A>'Length); <FONT COLOR=red><A NAME="ref_2039_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1590_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2038_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2039_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2034_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2038_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1591_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1590_14">Define_Key</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2047_14" HREF="terminal_interface-curses__ads.htm#ref_1616_14">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_2047_26" HREF="terminal_interface-curses__ads.htm#ref_1616_26">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>; <FONT COLOR=red><A NAME="ref_2048_26" HREF="terminal_interface-curses__ads.htm#ref_1617_26">Str</A></FONT> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2050_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="ref_2050_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2050_16">Unctrl</A>, "unctrl"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2050_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1616_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1617_26">Str</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1616_14">Un_Control</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2056_13" HREF="terminal_interface-curses__ads.htm#ref_1621_13">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_2056_25" HREF="terminal_interface-curses__ads.htm#ref_1621_25">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2058_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="ref_2058_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2058_16">Unctrl</A>, "unctrl"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2058_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1621_25">Ch</A>))); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1621_13">Un_Control</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2064_14" HREF="terminal_interface-curses__ads.htm#ref_1627_14">Delay_Output</A></FONT> (<FONT COLOR=red><A NAME="ref_2064_28" HREF="terminal_interface-curses__ads.htm#ref_1627_28">Msecs</A></FONT> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2066_16">Delayoutput</A></FONT> (<FONT COLOR=red><A NAME="ref_2066_29">Msecs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2066_16">Delayoutput</A>, "delay_output"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2066_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1627_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1627_14">Delay_Output</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2074_14" HREF="terminal_interface-curses__ads.htm#ref_1632_14">Flush_Input</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2076_16">Flushinp</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2076_16">Flushinp</A>, "flushinp"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2076_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_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#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1632_14">Flush_Input</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_2084_13" HREF="terminal_interface-curses__ads.htm#ref_1641_13">Baudrate</A></FONT> <b>return</b> Natural <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2086_16">Baud</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2086_16">Baud</A>, "baudrate"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2086_16">Baud</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1641_13">Baudrate</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2092_13" HREF="terminal_interface-curses__ads.htm#ref_1646_13">Erase_Character</A></FONT> <b>return</b> Character <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2094_16">Erasechar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2094_16">Erasechar</A>, "erasechar"); <b>begin</b> <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2094_16">Erasechar</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1646_13">Erase_Character</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2100_13" HREF="terminal_interface-curses__ads.htm#ref_1651_13">Kill_Character</A></FONT> <b>return</b> Character <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2102_16">Killchar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2102_16">Killchar</A>, "killchar"); <b>begin</b> <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2102_16">Killchar</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1651_13">Kill_Character</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2108_13" HREF="terminal_interface-curses__ads.htm#ref_1656_13">Has_Insert_Character</A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2110_16">Has_Ic</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2110_16">Has_Ic</A>, "has_ic"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2110_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1656_13">Has_Insert_Character</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2120_13" HREF="terminal_interface-curses__ads.htm#ref_1661_13">Has_Insert_Line</A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2122_16">Has_Il</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2122_16">Has_Il</A>, "has_il"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2122_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1661_13">Has_Insert_Line</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2132_13" HREF="terminal_interface-curses__ads.htm#ref_1666_13">Supported_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2134_16">Termattrs</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2134_16">Termattrs</A>, "termattrs"); <FONT COLOR=red><A NAME="ref_2137_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2134_16">Termattrs</A>); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2137_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1666_13">Supported_Attributes</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2142_14" HREF="terminal_interface-curses__ads.htm#ref_1671_14">Long_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_2142_25" HREF="terminal_interface-curses__ads.htm#ref_1671_25">Name</A></FONT> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2144_16">Longname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2144_16">Longname</A>, "longname"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2144_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1671_25">Name</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1671_14">Long_Name</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2150_13" HREF="terminal_interface-curses__ads.htm#ref_1675_13">Long_Name</A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2152_16">Longname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2152_16">Longname</A>, "longname"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2152_16">Longname</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1675_13">Long_Name</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2158_14" HREF="terminal_interface-curses__ads.htm#ref_1681_14">Terminal_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_2158_29" HREF="terminal_interface-curses__ads.htm#ref_1681_29">Name</A></FONT> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2160_16">Termname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2160_16">Termname</A>, "termname"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2160_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1681_29">Name</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1681_14">Terminal_Name</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2166_13" HREF="terminal_interface-curses__ads.htm#ref_1685_13">Terminal_Name</A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2168_16">Termname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2168_16">Termname</A>, "termname"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2168_16">Termname</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1685_13">Terminal_Name</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2174_14" HREF="terminal_interface-curses__ads.htm#ref_1706_14">Init_Pair</A></FONT> (<FONT COLOR=red><A NAME="ref_2174_25" HREF="terminal_interface-curses__ads.htm#ref_1706_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_301_12">Redefinable_Color_Pair</A>; <FONT COLOR=red><A NAME="ref_2175_25" HREF="terminal_interface-curses__ads.htm#ref_1707_25">Fore</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>; <FONT COLOR=red><A NAME="ref_2176_25" HREF="terminal_interface-curses__ads.htm#ref_1708_25">Back</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2178_16">Initpair</A></FONT> (<FONT COLOR=red><A NAME="ref_2178_26">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2179_26">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2180_26">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2178_16">Initpair</A>, "init_pair"); <b>begin</b> <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1706_25">Pair</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_424_13">Number_Of_Color_Pairs</A> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1707_25">Fore</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A> <b>or</b> <b>else</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1708_25">Back</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2178_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1706_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1707_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1708_25">Back</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1706_14">Init_Pair</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2195_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Pair_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_2195_28" HREF="terminal_interface-curses__ads.htm#ref_1713_28">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>; <FONT COLOR=red><A NAME="ref_2196_28" HREF="terminal_interface-curses__ads.htm#ref_1714_28">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>; <FONT COLOR=red><A NAME="ref_2197_28" HREF="terminal_interface-curses__ads.htm#ref_1715_28">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>) <b>is</b> <b>type</b> <FONT COLOR=red><A NAME="ref_2199_12">C_Short_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2200_16">Paircontent</A></FONT> (<FONT COLOR=red><A NAME="ref_2200_29">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2201_29">Fp</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_2199_12">C_Short_Access</A>; <FONT COLOR=red><A NAME="ref_2202_29">Bp</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_2199_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2200_16">Paircontent</A>, "pair_content"); <FONT COLOR=red><A NAME="ref_2205_7">F</A></FONT>, <FONT COLOR=red><A NAME="ref_2205_10">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2200_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1713_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2205_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2205_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#ref_1714_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2205_7">F</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1715_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2205_10">B</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Pair_Content</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2215_13" HREF="terminal_interface-curses__ads.htm#ref_1720_13">Has_Colors</A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2217_16">Hascolors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2217_16">Hascolors</A>, "has_colors"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2217_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_13">Has_Colors</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2227_14" HREF="terminal_interface-curses__ads.htm#ref_1725_14">Init_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_2227_26" HREF="terminal_interface-curses__ads.htm#ref_1725_26">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>; <FONT COLOR=red><A NAME="ref_2228_26" HREF="terminal_interface-curses__ads.htm#ref_1726_26">Red</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>; <FONT COLOR=red><A NAME="ref_2229_26" HREF="terminal_interface-curses__ads.htm#ref_1727_26">Green</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>; <FONT COLOR=red><A NAME="ref_2230_26" HREF="terminal_interface-curses__ads.htm#ref_1728_26">Blue</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2232_16">Initcolor</A></FONT> (<FONT COLOR=red><A NAME="ref_2232_27">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2233_27">Red</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2234_27">Green</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2235_27">Blue</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2232_16">Initcolor</A>, "init_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2232_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1725_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1726_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1727_26">Green</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1728_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1725_14">Init_Color</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2244_13" HREF="terminal_interface-curses__ads.htm#ref_1733_13">Can_Change_Color</A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2246_16">Canchangecolor</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2246_16">Canchangecolor</A>, "can_change_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2246_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1733_13">Can_Change_Color</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2256_14" HREF="terminal_interface-curses__ads.htm#ref_1738_14">Color_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_2256_29" HREF="terminal_interface-curses__ads.htm#ref_1738_29">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>; <FONT COLOR=red><A NAME="ref_2257_29" HREF="terminal_interface-curses__ads.htm#ref_1739_29">Red</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>; <FONT COLOR=red><A NAME="ref_2258_29" HREF="terminal_interface-curses__ads.htm#ref_1740_29">Green</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>; <FONT COLOR=red><A NAME="ref_2259_29" HREF="terminal_interface-curses__ads.htm#ref_1741_29">Blue</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>) <b>is</b> <b>type</b> <FONT COLOR=red><A NAME="ref_2261_12">C_Short_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2263_16">Colorcontent</A></FONT> (<FONT COLOR=red><A NAME="ref_2263_30">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2263_47">R</A></FONT>, <FONT COLOR=red><A NAME="ref_2263_50">G</A></FONT>, <FONT COLOR=red><A NAME="ref_2263_53">B</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_2261_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2263_16">Colorcontent</A>, "color_content"); <FONT COLOR=red><A NAME="ref_2267_7">R</A></FONT>, <FONT COLOR=red><A NAME="ref_2267_10">G</A></FONT>, <FONT COLOR=red><A NAME="ref_2267_13">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2263_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1738_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2267_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2267_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2267_13">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#ref_1739_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2267_7">R</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1740_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2267_10">G</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1741_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2267_13">B</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1738_14">Color_Content</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2280_14" HREF="terminal_interface-curses__ads.htm#ref_1753_14">Save_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_2280_32" HREF="terminal_interface-curses__ads.htm#ref_1753_32">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_9">Curses_Mode</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2282_16">Def_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2282_16">Def_Prog_Mode</A>, "def_prog_mode"); <b>function</b> <FONT COLOR=red><A NAME="ref_2284_16">Def_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2284_16">Def_Shell_Mode</A>, "def_shell_mode"); <FONT COLOR=red><A NAME="ref_2287_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1753_32">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2287_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2282_16">Def_Prog_Mode</A>; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2287_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2284_16">Def_Shell_Mode</A>; <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2287_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1753_14">Save_Curses_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2298_14" HREF="terminal_interface-curses__ads.htm#ref_1759_14">Reset_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_2298_33" HREF="terminal_interface-curses__ads.htm#ref_1759_33">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_9">Curses_Mode</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2300_16">Reset_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2300_16">Reset_Prog_Mode</A>, "reset_prog_mode"); <b>function</b> <FONT COLOR=red><A NAME="ref_2302_16">Reset_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2302_16">Reset_Shell_Mode</A>, "reset_shell_mode"); <FONT COLOR=red><A NAME="ref_2305_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1759_33">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2305_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2300_16">Reset_Prog_Mode</A>; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1750_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2305_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2302_16">Reset_Shell_Mode</A>; <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2305_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1759_14">Reset_Curses_Mode</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2316_14" HREF="terminal_interface-curses__ads.htm#ref_1765_14">Save_Terminal_State</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2318_16">Savetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2318_16">Savetty</A>, "savetty"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2318_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1765_14">Save_Terminal_State</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2326_14" HREF="terminal_interface-curses__ads.htm#ref_1770_14">Reset_Terminal_State</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2328_16">Resetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2328_16">Resetty</A>, "resetty"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2328_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1770_14">Reset_Terminal_State</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2336_14" HREF="terminal_interface-curses__ads.htm#ref_1783_14">Rip_Off_Lines</A></FONT> (<FONT COLOR=red><A NAME="ref_2336_29" HREF="terminal_interface-curses__ads.htm#ref_1783_29">Lines</A></FONT> : <b>in</b> Integer; <FONT COLOR=red><A NAME="ref_2337_29" HREF="terminal_interface-curses__ads.htm#ref_1784_29">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1774_9">Stdscr_Init_Proc</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2339_16">Ripoffline</A></FONT> (<FONT COLOR=red><A NAME="ref_2339_28">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_2340_28">Proc</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1774_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2339_16">Ripoffline</A>, "_nc_ripoffline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2339_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1783_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1784_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1783_14">Rip_Off_Lines</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2348_14" HREF="terminal_interface-curses__ads.htm#ref_1795_14">Set_Cursor_Visibility</A></FONT> (<FONT COLOR=red><A NAME="ref_2348_37" HREF="terminal_interface-curses__ads.htm#ref_1795_37">Visibility</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1792_9">Cursor_Visibility</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2350_16">Curs_Set</A></FONT> (<FONT COLOR=red><A NAME="ref_2350_26">Curs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2350_16">Curs_Set</A>, "curs_set"); <FONT COLOR=red><A NAME="ref_2353_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#ref_2353_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2350_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1792_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1795_37">Visibility</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2353_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <A HREF="terminal_interface-curses__ads.htm#ref_1795_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1792_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2353_7">Res</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1795_14">Set_Cursor_Visibility</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2361_14" HREF="terminal_interface-curses__ads.htm#ref_1800_14">Nap_Milli_Seconds</A></FONT> (<FONT COLOR=red><A NAME="ref_2361_33" HREF="terminal_interface-curses__ads.htm#ref_1800_33">Ms</A></FONT> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2363_16">Napms</A></FONT> (<FONT COLOR=red><A NAME="ref_2363_23">Ms</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2363_16">Napms</A>, "napms"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2363_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1800_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1800_14">Nap_Milli_Seconds</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_2372_13" HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <FONT COLOR=red><A NAME="ref_2374_7">Stdscr</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2374_7">Stdscr</A>, "stdscr"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2374_7">Stdscr</A>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2380_13" HREF="terminal_interface-curses__ads.htm#ref_412_13">Lines</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> <b>is</b> <FONT COLOR=red><A NAME="ref_2382_7">C_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2382_7">C_Lines</A>, "LINES"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2382_7">C_Lines</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_412_13">Lines</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2388_13" HREF="terminal_interface-curses__ads.htm#ref_415_13">Columns</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> <b>is</b> <FONT COLOR=red><A NAME="ref_2390_7">C_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2390_7">C_Columns</A>, "COLS"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2390_7">C_Columns</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_415_13">Columns</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2396_13" HREF="terminal_interface-curses__ads.htm#ref_418_13">Tab_Size</A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="ref_2398_7">C_Tab_Size</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2398_7">C_Tab_Size</A>, "TABSIZE"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2398_7">C_Tab_Size</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_13">Tab_Size</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2404_13" HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="ref_2406_7">C_Number_Of_Colors</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2406_7">C_Number_Of_Colors</A>, "COLORS"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2406_7">C_Number_Of_Colors</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2412_13" HREF="terminal_interface-curses__ads.htm#ref_424_13">Number_Of_Color_Pairs</A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="ref_2414_7">C_Number_Of_Color_Pairs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2414_7">C_Number_Of_Color_Pairs</A>, "COLOR_PAIRS"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2414_7">C_Number_Of_Color_Pairs</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_424_13">Number_Of_Color_Pairs</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2420_14" HREF="terminal_interface-curses__ads.htm#ref_1808_14">Transform_Coordinates</A></FONT> (<FONT COLOR=red><A NAME="ref_2421_7" HREF="terminal_interface-curses__ads.htm#ref_1809_7">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_2422_7" HREF="terminal_interface-curses__ads.htm#ref_1810_7">Line</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>; <FONT COLOR=red><A NAME="ref_2423_7" HREF="terminal_interface-curses__ads.htm#ref_1811_7">Column</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>; <FONT COLOR=red><A NAME="ref_2424_7" HREF="terminal_interface-curses__ads.htm#ref_1812_7">Dir</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1807_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1807_33">From_Screen</A>) <b>is</b> <b>type</b> <FONT COLOR=red><A NAME="ref_2426_12">Int_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>function</b> <FONT COLOR=red><A NAME="ref_2427_16">Transform</A></FONT> (<FONT COLOR=red><A NAME="ref_2427_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_2428_27">Y</A></FONT>, <FONT COLOR=red><A NAME="ref_2428_30">X</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_2426_12">Int_Access</A>; <FONT COLOR=red><A NAME="ref_2429_27">Dir</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2427_16">Transform</A>, "wmouse_trafo"); <FONT COLOR=red><A NAME="ref_2432_7">X</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1811_7">Column</A>); <FONT COLOR=red><A NAME="ref_2433_7">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1810_7">Line</A>); <FONT COLOR=red><A NAME="ref_2434_7">D</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A>; <FONT COLOR=red><A NAME="ref_2435_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1812_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1807_46">To_Screen</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#ref_2434_7">D</A> := 1; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#ref_2435_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2427_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1809_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2433_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2432_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2434_7">D</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2435_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#ref_1810_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2433_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#ref_1811_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2432_7">X</A>); <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Transform_Coordinates</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2449_14" HREF="terminal_interface-curses__ads.htm#ref_1825_14">Use_Default_Colors</A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2450_16">C_Use_Default_Colors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2450_16">C_Use_Default_Colors</A>, "use_default_colors"); <FONT COLOR=red><A NAME="ref_2452_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2450_16">C_Use_Default_Colors</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2452_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1825_14">Use_Default_Colors</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_1830_14">Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="ref_2459_37" HREF="terminal_interface-curses__ads.htm#ref_1830_37">Fore</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>; <FONT COLOR=red><A NAME="ref_2460_37" HREF="terminal_interface-curses__ads.htm#ref_1831_37">Back</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2462_16">C_Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="ref_2462_41">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_2463_41">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2462_16">C_Assume_Default_Colors</A>, "assume_default_colors"); <FONT COLOR=red><A NAME="ref_2466_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2462_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1830_37">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1831_37">Back</A>)); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2466_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1830_14">Assume_Default_Colors</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_2474_13" HREF="terminal_interface-curses__ads.htm#ref_1840_13">Curses_Version</A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2476_16">curses_versionC</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2476_16">curses_versionC</A>, "curses_version"); <FONT COLOR=red><A NAME="ref_2478_7">Result</A></FONT> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2476_16">curses_versionC</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2478_7">Result</A>); <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1840_13">Curses_Version</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <FONT COLOR=red><A NAME="ref_2483_13" HREF="terminal_interface-curses__ads.htm#ref_1845_13">Use_Extended_Names</A></FONT> (<FONT COLOR=red><A NAME="ref_2483_33" HREF="terminal_interface-curses__ads.htm#ref_1845_33">Enable</A></FONT> : Boolean) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2485_16">use_extended_namesC</A></FONT> (<FONT COLOR=red><A NAME="ref_2485_37">e</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2485_16">use_extended_namesC</A>, "use_extended_names"); <FONT COLOR=red><A NAME="ref_2488_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2485_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1845_33">Enable</A>))); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2488_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1932_4">Curses_Bool_False</A>) <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1845_13">Use_Extended_Names</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2498_14" HREF="terminal_interface-curses__ads.htm#ref_1853_14">Screen_Dump_To_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2498_35" HREF="terminal_interface-curses__ads.htm#ref_1853_35">Filename</A></FONT> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2500_16">scr_dump</A></FONT> (<FONT COLOR=red><A NAME="ref_2500_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2500_16">scr_dump</A>, "scr_dump"); <FONT COLOR=red><A NAME="ref_2502_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1853_35">Filename</A>'Length); <FONT COLOR=red><A NAME="ref_2503_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1853_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2502_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2503_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2500_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2502_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1853_14">Screen_Dump_To_File</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2511_14" HREF="terminal_interface-curses__ads.htm#ref_1857_14">Screen_Restore_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2511_40" HREF="terminal_interface-curses__ads.htm#ref_1857_40">Filename</A></FONT> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2513_16">scr_restore</A></FONT> (<FONT COLOR=red><A NAME="ref_2513_29">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2513_16">scr_restore</A>, "scr_restore"); <FONT COLOR=red><A NAME="ref_2515_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1857_40">Filename</A>'Length); <FONT COLOR=red><A NAME="ref_2516_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1857_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2515_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2516_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2513_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2515_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1857_14">Screen_Restore_From_File</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2524_14" HREF="terminal_interface-curses__ads.htm#ref_1861_14">Screen_Init_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2524_37" HREF="terminal_interface-curses__ads.htm#ref_1861_37">Filename</A></FONT> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2526_16">scr_init</A></FONT> (<FONT COLOR=red><A NAME="ref_2526_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2526_16">scr_init</A>, "scr_init"); <FONT COLOR=red><A NAME="ref_2528_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1861_37">Filename</A>'Length); <FONT COLOR=red><A NAME="ref_2529_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1861_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2528_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2529_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2526_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2528_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1861_14">Screen_Init_From_File</A>; <b>procedure</b> <FONT COLOR=red><A NAME="ref_2537_14" HREF="terminal_interface-curses__ads.htm#ref_1865_14">Screen_Set_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2537_31" HREF="terminal_interface-curses__ads.htm#ref_1865_31">Filename</A></FONT> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2539_16">scr_set</A></FONT> (<FONT COLOR=red><A NAME="ref_2539_25">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2539_16">scr_set</A>, "scr_set"); <FONT COLOR=red><A NAME="ref_2541_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1865_31">Filename</A>'Length); <FONT COLOR=red><A NAME="ref_2542_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1865_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2541_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2542_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2539_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2541_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1865_14">Screen_Set_File</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <FONT COLOR=red><A NAME="ref_2550_14" HREF="terminal_interface-curses__ads.htm#ref_1898_14">Resize</A></FONT> (<FONT COLOR=red><A NAME="ref_2550_22" HREF="terminal_interface-curses__ads.htm#ref_1898_22">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_475_13">Standard_Window</A>; <FONT COLOR=red><A NAME="ref_2551_22" HREF="terminal_interface-curses__ads.htm#ref_1899_22">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>; <FONT COLOR=red><A NAME="ref_2552_22" HREF="terminal_interface-curses__ads.htm#ref_1900_22">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="ref_2553_16">wresize</A></FONT> (<FONT COLOR=red><A NAME="ref_2553_25">win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_2554_25">lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_2555_25">columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2553_16">wresize</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2553_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1898_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1899_22">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1900_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1898_14">Resize</A>; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>end</b> <A HREF="terminal_interface__ads.htm#ref_41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>; </PRE></BODY></HTML>