1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 2<html> 3<head> 4<title>terminal_interface-curses.adb</title> 5<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 6<style type="text/css"> 7*.comment { 8 color: green; 9} 10*.symbol { 11 color: red; 12} 13</style> 14</head> 15<body> 16<hr><div style="text-align:center"><h1> File : terminal_interface-curses.adb </h1></div><hr> 17<pre> 18<span class="comment"><em>------------------------------------------------------------------------------</em></span> 19<span class="comment"><em>-- --</em></span> 20<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> 21<span class="comment"><em>-- --</em></span> 22<span class="comment"><em>-- Terminal_Interface.Curses --</em></span> 23<span class="comment"><em>-- --</em></span> 24<span class="comment"><em>-- B O D Y --</em></span> 25<span class="comment"><em>-- --</em></span> 26<span class="comment"><em>------------------------------------------------------------------------------</em></span> 27<span class="comment"><em>-- Copyright 2018-2020,2024 Thomas E. Dickey --</em></span> 28<span class="comment"><em>-- Copyright 2007-2011,2014 Free Software Foundation, Inc. --</em></span> 29<span class="comment"><em>-- --</em></span> 30<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> 31<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> 32<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> 33<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> 34<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> 35<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> 36<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> 37<span class="comment"><em>-- --</em></span> 38<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> 39<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> 40<span class="comment"><em>-- --</em></span> 41<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> 42<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> 43<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> 44<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> 45<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> 46<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> 47<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> 48<span class="comment"><em>-- --</em></span> 49<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> 50<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> 51<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> 52<span class="comment"><em>-- authorization. --</em></span> 53<span class="comment"><em>------------------------------------------------------------------------------</em></span> 54<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> 55<span class="comment"><em>-- Version Control:</em></span> 56<span class="comment"><em>-- @Revision: 1.17 @</em></span> 57<span class="comment"><em>-- @Date: 2024/03/30 13:24:07 @</em></span> 58<span class="comment"><em>-- Binding Version 01.00</em></span> 59<span class="comment"><em>------------------------------------------------------------------------------</em></span> 60<b>with</b> System; 61 62<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; 63<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; 64<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; 65<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; 66<b>with</b> Ada.Strings.Fixed; 67 68<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_51_33" href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a></span> <b>is</b> 69 70 <b>use</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; 71 72 <b>package</b> <span class="symbol"><a name="ref_55_12">ASF</a></span> <b>renames</b> Ada.Strings.Fixed; 73 74 <b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> <>) 75 <b>of</b> <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 76 <b>pragma</b> Convention (C, chtype_array); 77 78<span class="comment"><em>------------------------------------------------------------------------------</em></span> 79 <b>function</b> <span class="symbol"><a name="ref_62_13" href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a></span> (<span class="symbol"><a name="ref_62_23" href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> String 80 <b>is</b> 81 <b>function</b> <span class="symbol"><a name="ref_64_16">Keyname</a></span> (<span class="symbol"><a name="ref_64_25">K</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; 82 <b>pragma</b> Import (C, Keyname, "keyname"); 83 84 <span class="symbol"><a name="ref_67_7">Ch</a></span> : Character; 85 <b>begin</b> 86 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a> <= Character'Pos (Character'Last) <b>then</b> 87 <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a> := Character'Val (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>); 88 <b>if</b> Is_Control (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b> 89 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a> (<a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>, 90 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 91 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 92 <b>elsif</b> Is_Graphic (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b> 93 <b>declare</b> 94 <span class="symbol"><a name="ref_77_16">S</a></span> : String (1 .. 1); 95 <b>begin</b> 96 <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a> (1) := <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>; 97 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a>; 98 <b>end</b>; 99 <b>else</b> 100 <b>return</b> ""; 101 <b>end</b> <b>if</b>; 102 <b>else</b> 103 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_64_16">Keyname</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>))); 104 <b>end</b> <b>if</b>; 105 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a>; 106 107 <b>procedure</b> <span class="symbol"><a name="ref_90_14" href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a></span> (<span class="symbol"><a name="ref_90_24" href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>; 108 <span class="symbol"><a name="ref_91_24" href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a></span> : <b>out</b> String) 109 <b>is</b> 110 <b>begin</b> 111 <a href="terminal_interface-curses__adb.htm#ref_55_12">ASF</a>.Move (<a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a> (<a href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a>); 112 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a>; 113 114<span class="comment"><em>------------------------------------------------------------------------------</em></span> 115 <b>procedure</b> <span class="symbol"><a name="ref_98_14" href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a></span> 116 <b>is</b> 117 <b>function</b> <span class="symbol"><a name="ref_100_16">Initscr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 118 <b>pragma</b> Import (C, Initscr, "initscr"); 119 120 <span class="symbol"><a name="ref_103_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 121 <b>begin</b> 122 <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_100_16">Initscr</a>; 123 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 124 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 125 <b>end</b> <b>if</b>; 126 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>; 127 128 <b>procedure</b> <span class="symbol"><a name="ref_111_14" href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a></span> 129 <b>is</b> 130 <b>function</b> <span class="symbol"><a name="ref_113_16">Endwin</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 131 <b>pragma</b> Import (C, Endwin, "endwin"); 132 <b>begin</b> 133 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_113_16">Endwin</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 134 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 135 <b>end</b> <b>if</b>; 136 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>; 137 138 <b>function</b> <span class="symbol"><a name="ref_121_13" href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a></span> <b>return</b> Boolean 139 <b>is</b> 140 <b>function</b> <span class="symbol"><a name="ref_123_16">Isendwin</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 141 <b>pragma</b> Import (C, Isendwin, "isendwin"); 142 <b>begin</b> 143 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 144 <b>return</b> False; 145 <b>else</b> 146 <b>return</b> True; 147 <b>end</b> <b>if</b>; 148 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a>; 149<span class="comment"><em>------------------------------------------------------------------------------</em></span> 150 <b>procedure</b> <span class="symbol"><a name="ref_133_14" href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a></span> (<span class="symbol"><a name="ref_133_27" href="terminal_interface-curses__ads.htm#ref_682_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 151 <span class="symbol"><a name="ref_134_27" href="terminal_interface-curses__ads.htm#ref_683_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 152 <span class="symbol"><a name="ref_135_27" href="terminal_interface-curses__ads.htm#ref_684_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 153 <b>is</b> 154 <b>function</b> <span class="symbol"><a name="ref_137_16">Wmove</a></span> (<span class="symbol"><a name="ref_137_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 155 <span class="symbol"><a name="ref_138_23">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 156 <span class="symbol"><a name="ref_139_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> 157 ) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 158 <b>pragma</b> Import (C, Wmove, "wmove"); 159 <b>begin</b> 160 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_137_16">Wmove</a> (<a href="terminal_interface-curses__ads.htm#ref_682_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_683_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_684_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 161 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 162 <b>end</b> <b>if</b>; 163 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a>; 164<span class="comment"><em>------------------------------------------------------------------------------</em></span> 165 <b>procedure</b> <span class="symbol"><a name="ref_148_14" href="terminal_interface-curses__ads.htm#ref_694_14">Add</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses__ads.htm#ref_694_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 166 <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 167 <b>is</b> 168 <b>function</b> <span class="symbol"><a name="ref_151_16">Waddch</a></span> (<span class="symbol"><a name="ref_151_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 169 <span class="symbol"><a name="ref_152_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 170 <b>pragma</b> Import (C, Waddch, "waddch"); 171 <b>begin</b> 172 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_151_16">Waddch</a> (<a href="terminal_interface-curses__ads.htm#ref_694_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 173 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 174 <b>end</b> <b>if</b>; 175 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a>; 176 177 <b>procedure</b> <span class="symbol"><a name="ref_160_14" href="terminal_interface-curses__ads.htm#ref_699_14">Add</a></span> (<span class="symbol"><a name="ref_160_19" href="terminal_interface-curses__ads.htm#ref_699_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 178 <span class="symbol"><a name="ref_161_19" href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a></span> : Character) 179 <b>is</b> 180 <b>begin</b> 181 <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_699_19">Win</a>, 182 <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a>, 183 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 184 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 185 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a>; 186 187 <b>procedure</b> <span class="symbol"><a name="ref_170_14" href="terminal_interface-curses__ads.htm#ref_705_14">Add</a></span> 188 (<span class="symbol"><a name="ref_171_7" href="terminal_interface-curses__ads.htm#ref_706_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 189 <span class="symbol"><a name="ref_172_7" href="terminal_interface-curses__ads.htm#ref_707_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 190 <span class="symbol"><a name="ref_173_7" href="terminal_interface-curses__ads.htm#ref_708_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 191 <span class="symbol"><a name="ref_174_7" href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 192 <b>is</b> 193 <b>function</b> <span class="symbol"><a name="ref_176_16">mvwaddch</a></span> (<span class="symbol"><a name="ref_176_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 194 <span class="symbol"><a name="ref_177_26">Y</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 195 <span class="symbol"><a name="ref_178_26">X</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 196 <span class="symbol"><a name="ref_179_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 197 <b>pragma</b> Import (C, mvwaddch, "mvwaddch"); 198 <b>begin</b> 199 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</a> (<a href="terminal_interface-curses__ads.htm#ref_706_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_707_7">Line</a>), 200 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_708_7">Column</a>), 201 <a href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 202 <b>then</b> 203 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 204 <b>end</b> <b>if</b>; 205 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a>; 206 207 <b>procedure</b> <span class="symbol"><a name="ref_190_14" href="terminal_interface-curses__ads.htm#ref_713_14">Add</a></span> 208 (<span class="symbol"><a name="ref_191_7" href="terminal_interface-curses__ads.htm#ref_714_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 209 <span class="symbol"><a name="ref_192_7" href="terminal_interface-curses__ads.htm#ref_715_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 210 <span class="symbol"><a name="ref_193_7" href="terminal_interface-curses__ads.htm#ref_716_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 211 <span class="symbol"><a name="ref_194_7" href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a></span> : Character) 212 <b>is</b> 213 <b>begin</b> 214 <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_714_7">Win</a>, 215 <a href="terminal_interface-curses__ads.htm#ref_715_7">Line</a>, 216 <a href="terminal_interface-curses__ads.htm#ref_716_7">Column</a>, 217 <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a>, 218 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 219 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 220 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_713_14">Add</a>; 221 222 <b>procedure</b> <span class="symbol"><a name="ref_205_14" href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a></span> 223 (<span class="symbol"><a name="ref_206_7" href="terminal_interface-curses__ads.htm#ref_723_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 224 <span class="symbol"><a name="ref_207_7" href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 225 <b>is</b> 226 <b>function</b> <span class="symbol"><a name="ref_209_16">Wechochar</a></span> (<span class="symbol"><a name="ref_209_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 227 <span class="symbol"><a name="ref_210_27">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 228 <b>pragma</b> Import (C, Wechochar, "wechochar"); 229 <b>begin</b> 230 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_723_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 231 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 232 <b>end</b> <b>if</b>; 233 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a>; 234 235 <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a></span> 236 (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses__ads.htm#ref_729_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 237 <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a></span> : Character) 238 <b>is</b> 239 <b>begin</b> 240 <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a> 241 (<a href="terminal_interface-curses__ads.htm#ref_729_7">Win</a>, 242 <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a>, 243 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 244 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 245 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a>; 246<span class="comment"><em>------------------------------------------------------------------------------</em></span> 247 <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses__ads.htm#ref_740_13">Create</a></span> (<span class="symbol"><a name="ref_230_21" href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 248 <span class="symbol"><a name="ref_231_21" href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; 249 <span class="symbol"><a name="ref_232_21" href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 250 <span class="symbol"><a name="ref_233_21" href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 251 <b>is</b> 252 <b>function</b> <span class="symbol"><a name="ref_235_16">Newwin</a></span> (<span class="symbol"><a name="ref_235_24">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 253 <span class="symbol"><a name="ref_236_24">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 254 <span class="symbol"><a name="ref_237_24">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 255 <span class="symbol"><a name="ref_238_24">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 256 <b>pragma</b> Import (C, Newwin, "newwin"); 257 258 <span class="symbol"><a name="ref_241_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 259 <b>begin</b> 260 <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_235_16">Newwin</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a>), 261 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a>), 262 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a>), 263 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a>)); 264 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 265 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 266 <b>end</b> <b>if</b>; 267 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a>; 268 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>; 269 270 <b>procedure</b> <span class="symbol"><a name="ref_253_14" href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a></span> (<span class="symbol"><a name="ref_253_22" href="terminal_interface-curses__ads.htm#ref_759_22">Win</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) 271 <b>is</b> 272 <b>function</b> <span class="symbol"><a name="ref_255_16">Wdelwin</a></span> (<span class="symbol"><a name="ref_255_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 273 <b>pragma</b> Import (C, Wdelwin, "delwin"); 274 <b>begin</b> 275 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</a> (<a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 276 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 277 <b>end</b> <b>if</b>; 278 <a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a> := <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>; 279 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a>; 280 281 <b>function</b> <span class="symbol"><a name="ref_264_13" href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a></span> 282 (<span class="symbol"><a name="ref_265_7" href="terminal_interface-curses__ads.htm#ref_766_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 283 <span class="symbol"><a name="ref_266_7" href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 284 <span class="symbol"><a name="ref_267_7" href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; 285 <span class="symbol"><a name="ref_268_7" href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 286 <span class="symbol"><a name="ref_269_7" href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 287 <b>is</b> 288 <b>function</b> <span class="symbol"><a name="ref_271_16">Subwin</a></span> 289 (<span class="symbol"><a name="ref_272_10">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 290 <span class="symbol"><a name="ref_273_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 291 <span class="symbol"><a name="ref_274_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 292 <span class="symbol"><a name="ref_275_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 293 <span class="symbol"><a name="ref_276_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 294 <b>pragma</b> Import (C, Subwin, "subwin"); 295 296 <span class="symbol"><a name="ref_279_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 297 <b>begin</b> 298 <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_271_16">Subwin</a> (<a href="terminal_interface-curses__ads.htm#ref_766_7">Win</a>, 299 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a>), 300 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a>), 301 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a>), 302 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a>)); 303 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 304 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 305 <b>end</b> <b>if</b>; 306 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a>; 307 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a>; 308 309 <b>function</b> <span class="symbol"><a name="ref_292_13" href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a></span> 310 (<span class="symbol"><a name="ref_293_7" href="terminal_interface-curses__ads.htm#ref_776_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 311 <span class="symbol"><a name="ref_294_7" href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 312 <span class="symbol"><a name="ref_295_7" href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; 313 <span class="symbol"><a name="ref_296_7" href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 314 <span class="symbol"><a name="ref_297_7" href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 315 <b>is</b> 316 <b>function</b> <span class="symbol"><a name="ref_299_16">Derwin</a></span> 317 (<span class="symbol"><a name="ref_300_10">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 318 <span class="symbol"><a name="ref_301_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 319 <span class="symbol"><a name="ref_302_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 320 <span class="symbol"><a name="ref_303_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 321 <span class="symbol"><a name="ref_304_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 322 <b>pragma</b> Import (C, Derwin, "derwin"); 323 324 <span class="symbol"><a name="ref_307_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 325 <b>begin</b> 326 <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_299_16">Derwin</a> (<a href="terminal_interface-curses__ads.htm#ref_776_7">Win</a>, 327 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a>), 328 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a>), 329 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a>), 330 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a>)); 331 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 332 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 333 <b>end</b> <b>if</b>; 334 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a>; 335 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a>; 336 337 <b>function</b> <span class="symbol"><a name="ref_320_13" href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a></span> (<span class="symbol"><a name="ref_320_24" href="terminal_interface-curses__ads.htm#ref_785_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 338 <b>is</b> 339 <b>function</b> <span class="symbol"><a name="ref_322_16">Dupwin</a></span> (<span class="symbol"><a name="ref_322_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 340 <b>pragma</b> Import (C, Dupwin, "dupwin"); 341 342 <span class="symbol"><a name="ref_325_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</a> (<a href="terminal_interface-curses__ads.htm#ref_785_24">Win</a>); 343 <b>begin</b> 344 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 345 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 346 <b>end</b> <b>if</b>; 347 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a>; 348 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a>; 349 350 <b>procedure</b> <span class="symbol"><a name="ref_333_14" href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a></span> (<span class="symbol"><a name="ref_333_27" href="terminal_interface-curses__ads.htm#ref_790_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 351 <span class="symbol"><a name="ref_334_27" href="terminal_interface-curses__ads.htm#ref_791_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 352 <span class="symbol"><a name="ref_335_27" href="terminal_interface-curses__ads.htm#ref_792_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 353 <b>is</b> 354 <b>function</b> <span class="symbol"><a name="ref_337_16">Mvwin</a></span> (<span class="symbol"><a name="ref_337_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 355 <span class="symbol"><a name="ref_338_23">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 356 <span class="symbol"><a name="ref_339_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 357 <b>pragma</b> Import (C, Mvwin, "mvwin"); 358 <b>begin</b> 359 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</a> (<a href="terminal_interface-curses__ads.htm#ref_790_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_791_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_792_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 360 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 361 <b>end</b> <b>if</b>; 362 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a>; 363 364 <b>procedure</b> <span class="symbol"><a name="ref_347_14" href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a></span> (<span class="symbol"><a name="ref_347_35" href="terminal_interface-curses__ads.htm#ref_797_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 365 <span class="symbol"><a name="ref_348_35" href="terminal_interface-curses__ads.htm#ref_798_35">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 366 <span class="symbol"><a name="ref_349_35" href="terminal_interface-curses__ads.htm#ref_799_35">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 367 <b>is</b> 368 <b>function</b> <span class="symbol"><a name="ref_351_16">Mvderwin</a></span> (<span class="symbol"><a name="ref_351_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 369 <span class="symbol"><a name="ref_352_26">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 370 <span class="symbol"><a name="ref_353_26">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 371 <b>pragma</b> Import (C, Mvderwin, "mvderwin"); 372 <b>begin</b> 373 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</a> (<a href="terminal_interface-curses__ads.htm#ref_797_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_798_35">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_799_35">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 374 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 375 <b>end</b> <b>if</b>; 376 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a>; 377 378 <b>procedure</b> <span class="symbol"><a name="ref_361_14" href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a></span> (<span class="symbol"><a name="ref_361_30" href="terminal_interface-curses__ads.htm#ref_814_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 379 <span class="symbol"><a name="ref_362_30" href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a></span> : Boolean := False) 380 <b>is</b> 381 <b>function</b> <span class="symbol"><a name="ref_364_16">Syncok</a></span> (<span class="symbol"><a name="ref_364_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 382 <span class="symbol"><a name="ref_365_24">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 383 <b>pragma</b> Import (C, Syncok, "syncok"); 384 <b>begin</b> 385 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_364_16">Syncok</a> (<a href="terminal_interface-curses__ads.htm#ref_814_30">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 386 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 387 <b>end</b> <b>if</b>; 388 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a>; 389<span class="comment"><em>------------------------------------------------------------------------------</em></span> 390 <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses__ads.htm#ref_824_14">Add</a></span> (<span class="symbol"><a name="ref_373_19" href="terminal_interface-curses__ads.htm#ref_824_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 391 <span class="symbol"><a name="ref_374_19" href="terminal_interface-curses__ads.htm#ref_825_19">Str</a></span> : String; 392 <span class="symbol"><a name="ref_375_19" href="terminal_interface-curses__ads.htm#ref_826_19">Len</a></span> : Integer := -1) 393 <b>is</b> 394 <b>function</b> <span class="symbol"><a name="ref_377_16">Waddnstr</a></span> (<span class="symbol"><a name="ref_377_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 395 <span class="symbol"><a name="ref_378_26">Str</a></span> : char_array; 396 <span class="symbol"><a name="ref_379_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 397 <b>pragma</b> Import (C, Waddnstr, "waddnstr"); 398 399 <span class="symbol"><a name="ref_382_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>'Length); 400 <span class="symbol"><a name="ref_383_7">Length</a></span> : size_t; 401 <b>begin</b> 402 To_C (<a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_383_7">Length</a>); 403 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_824_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_826_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 404 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 405 <b>end</b> <b>if</b>; 406 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a>; 407 408 <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses__ads.htm#ref_833_14">Add</a></span> 409 (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses__ads.htm#ref_833_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 410 <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses__ads.htm#ref_834_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 411 <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses__ads.htm#ref_835_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 412 <span class="symbol"><a name="ref_395_7" href="terminal_interface-curses__ads.htm#ref_836_19">Str</a></span> : String; 413 <span class="symbol"><a name="ref_396_7" href="terminal_interface-curses__ads.htm#ref_837_19">Len</a></span> : Integer := -1) 414 <b>is</b> 415 <b>begin</b> 416 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_834_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_835_19">Column</a>); 417 <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_836_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_837_19">Len</a>); 418 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_833_14">Add</a>; 419<span class="comment"><em>------------------------------------------------------------------------------</em></span> 420 <b>procedure</b> <span class="symbol"><a name="ref_403_14" href="terminal_interface-curses__ads.htm#ref_848_14">Add</a></span> 421 (<span class="symbol"><a name="ref_404_7" href="terminal_interface-curses__ads.htm#ref_848_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 422 <span class="symbol"><a name="ref_405_7" href="terminal_interface-curses__ads.htm#ref_849_19">Str</a></span> : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; 423 <span class="symbol"><a name="ref_406_7" href="terminal_interface-curses__ads.htm#ref_850_19">Len</a></span> : Integer := -1) 424 <b>is</b> 425 <b>function</b> <span class="symbol"><a name="ref_408_16">Waddchnstr</a></span> (<span class="symbol"><a name="ref_408_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 426 <span class="symbol"><a name="ref_409_28">Str</a></span> : chtype_array; 427 <span class="symbol"><a name="ref_410_28">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 428 <b>pragma</b> Import (C, Waddchnstr, "waddchnstr"); 429 430 <span class="symbol"><a name="ref_413_7">Txt</a></span> : chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length); 431 <b>begin</b> 432 <b>for</b> <span class="symbol"><a name="ref_415_11">Length</a></span> <b>in</b> 1 .. size_t (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) <b>loop</b> 433 <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a> - 1) := <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a> (Natural (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a>)); 434 <b>end</b> <b>loop</b>; 435 <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 436 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_848_19">Win</a>, 437 <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a>, 438 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_850_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 439 <b>then</b> 440 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 441 <b>end</b> <b>if</b>; 442 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a>; 443 444 <b>procedure</b> <span class="symbol"><a name="ref_427_14" href="terminal_interface-curses__ads.htm#ref_857_14">Add</a></span> 445 (<span class="symbol"><a name="ref_428_7" href="terminal_interface-curses__ads.htm#ref_857_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 446 <span class="symbol"><a name="ref_429_7" href="terminal_interface-curses__ads.htm#ref_858_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 447 <span class="symbol"><a name="ref_430_7" href="terminal_interface-curses__ads.htm#ref_859_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 448 <span class="symbol"><a name="ref_431_7" href="terminal_interface-curses__ads.htm#ref_860_19">Str</a></span> : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; 449 <span class="symbol"><a name="ref_432_7" href="terminal_interface-curses__ads.htm#ref_861_19">Len</a></span> : Integer := -1) 450 <b>is</b> 451 <b>begin</b> 452 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_858_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_859_19">Column</a>); 453 <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_860_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_861_19">Len</a>); 454 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_857_14">Add</a>; 455<span class="comment"><em>------------------------------------------------------------------------------</em></span> 456 <b>procedure</b> <span class="symbol"><a name="ref_439_14" href="terminal_interface-curses__ads.htm#ref_875_14">Border</a></span> 457 (<span class="symbol"><a name="ref_440_7" href="terminal_interface-curses__ads.htm#ref_876_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 458 <span class="symbol"><a name="ref_441_7" href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 459 <span class="symbol"><a name="ref_442_7" href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 460 <span class="symbol"><a name="ref_443_7" href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 461 <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 462 <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 463 <span class="symbol"><a name="ref_446_7" href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 464 <span class="symbol"><a name="ref_447_7" href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 465 <span class="symbol"><a name="ref_448_7" href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) 466 <b>is</b> 467 <b>function</b> <span class="symbol"><a name="ref_450_16">Wborder</a></span> (<span class="symbol"><a name="ref_450_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 468 <span class="symbol"><a name="ref_451_25">LS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 469 <span class="symbol"><a name="ref_452_25">RS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 470 <span class="symbol"><a name="ref_453_25">TS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 471 <span class="symbol"><a name="ref_454_25">BS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 472 <span class="symbol"><a name="ref_455_25">ULC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 473 <span class="symbol"><a name="ref_456_25">URC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 474 <span class="symbol"><a name="ref_457_25">LLC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 475 <span class="symbol"><a name="ref_458_25">LRC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 476 <b>pragma</b> Import (C, Wborder, "wborder"); 477 <b>begin</b> 478 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_450_16">Wborder</a> (<a href="terminal_interface-curses__ads.htm#ref_876_7">Win</a>, 479 <a href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a>, 480 <a href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a>, 481 <a href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a>, 482 <a href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a>, 483 <a href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a>, 484 <a href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a>, 485 <a href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a>, 486 <a href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 487 <b>then</b> 488 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 489 <b>end</b> <b>if</b>; 490 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a>; 491 492 <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses__ads.htm#ref_891_14">Box</a></span> 493 (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses__ads.htm#ref_892_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 494 <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 495 <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) 496 <b>is</b> 497 <b>begin</b> 498 <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a> (<a href="terminal_interface-curses__ads.htm#ref_892_7">Win</a>, 499 <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>, 500 <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>); 501 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_891_14">Box</a>; 502 503 <b>procedure</b> <span class="symbol"><a name="ref_486_14" href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a></span> 504 (<span class="symbol"><a name="ref_487_7" href="terminal_interface-curses__ads.htm#ref_900_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 505 <span class="symbol"><a name="ref_488_7" href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a></span> : Natural; 506 <span class="symbol"><a name="ref_489_7" href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) 507 <b>is</b> 508 <b>function</b> <span class="symbol"><a name="ref_491_16">Whline</a></span> (<span class="symbol"><a name="ref_491_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 509 <span class="symbol"><a name="ref_492_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 510 <span class="symbol"><a name="ref_493_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 511 <b>pragma</b> Import (C, Whline, "whline"); 512 <b>begin</b> 513 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_491_16">Whline</a> (<a href="terminal_interface-curses__ads.htm#ref_900_7">Win</a>, 514 <a href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a>, 515 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 516 <b>then</b> 517 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 518 <b>end</b> <b>if</b>; 519 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a>; 520 521 <b>procedure</b> <span class="symbol"><a name="ref_504_14" href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a></span> 522 (<span class="symbol"><a name="ref_505_7" href="terminal_interface-curses__ads.htm#ref_909_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 523 <span class="symbol"><a name="ref_506_7" href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a></span> : Natural; 524 <span class="symbol"><a name="ref_507_7" href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) 525 <b>is</b> 526 <b>function</b> <span class="symbol"><a name="ref_509_16">Wvline</a></span> (<span class="symbol"><a name="ref_509_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 527 <span class="symbol"><a name="ref_510_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 528 <span class="symbol"><a name="ref_511_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 529 <b>pragma</b> Import (C, Wvline, "wvline"); 530 <b>begin</b> 531 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_509_16">Wvline</a> (<a href="terminal_interface-curses__ads.htm#ref_909_7">Win</a>, 532 <a href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a>, 533 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 534 <b>then</b> 535 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 536 <b>end</b> <b>if</b>; 537 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a>; 538 539<span class="comment"><em>------------------------------------------------------------------------------</em></span> 540 <b>function</b> <span class="symbol"><a name="ref_523_13" href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a></span> (<span class="symbol"><a name="ref_523_28" href="terminal_interface-curses__ads.htm#ref_922_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 541 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> 542 <b>is</b> 543 <b>function</b> <span class="symbol"><a name="ref_526_16">Wgetch</a></span> (<span class="symbol"><a name="ref_526_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 544 <b>pragma</b> Import (C, Wgetch, "wgetch"); 545 546 <span class="symbol"><a name="ref_529_7">C</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</a> (<a href="terminal_interface-curses__ads.htm#ref_922_28">Win</a>); 547 <b>begin</b> 548 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_529_7">C</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 549 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_89_4">Key_None</a>; 550 <b>else</b> 551 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (<a href="terminal_interface-curses__adb.htm#ref_529_7">C</a>); 552 <b>end</b> <b>if</b>; 553 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a>; 554 555 <b>procedure</b> <span class="symbol"><a name="ref_538_14" href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a></span> (<span class="symbol"><a name="ref_538_30" href="terminal_interface-curses__ads.htm#ref_933_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) 556 <b>is</b> 557 <b>function</b> <span class="symbol"><a name="ref_540_16">Ungetch</a></span> (<span class="symbol"><a name="ref_540_25">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 558 <b>pragma</b> Import (C, Ungetch, "ungetch"); 559 <b>begin</b> 560 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_933_30">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 561 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 562 <b>end</b> <b>if</b>; 563 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a>; 564 565 <b>function</b> <span class="symbol"><a name="ref_548_13" href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a></span> (<span class="symbol"><a name="ref_548_22" href="terminal_interface-curses__ads.htm#ref_938_22">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean 566 <b>is</b> 567 <b>function</b> <span class="symbol"><a name="ref_550_16">Haskey</a></span> (<span class="symbol"><a name="ref_550_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 568 <b>pragma</b> Import (C, Haskey, "has_key"); 569 <b>begin</b> 570 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_550_16">Haskey</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_938_22">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> 571 <b>return</b> False; 572 <b>else</b> 573 <b>return</b> True; 574 <b>end</b> <b>if</b>; 575 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a>; 576 577 <b>function</b> <span class="symbol"><a name="ref_560_13" href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a></span> (<span class="symbol"><a name="ref_560_30" href="terminal_interface-curses__ads.htm#ref_945_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean 578 <b>is</b> 579 <span class="symbol"><a name="ref_562_7">L</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) + 580 Natural (<a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>'Last)); 581 <b>begin</b> 582 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> >= <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> <= <a href="terminal_interface-curses__adb.htm#ref_562_7">L</a> <b>then</b> 583 <b>return</b> True; 584 <b>else</b> 585 <b>return</b> False; 586 <b>end</b> <b>if</b>; 587 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a>; 588 589 <b>function</b> <span class="symbol"><a name="ref_572_13" href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a></span> (<span class="symbol"><a name="ref_572_27" href="terminal_interface-curses__ads.htm#ref_952_27">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) 590 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a> 591 <b>is</b> 592 <b>begin</b> 593 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a>) <b>then</b> 594 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a> - <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>); 595 <b>else</b> 596 <b>raise</b> Constraint_Error; 597 <b>end</b> <b>if</b>; 598 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a>; 599 600 <b>function</b> <span class="symbol"><a name="ref_583_13" href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a></span> (<span class="symbol"><a name="ref_583_32" href="terminal_interface-curses__ads.htm#ref_957_32">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> 601 <b>is</b> 602 <b>begin</b> 603 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) + Natural (<a href="terminal_interface-curses__ads.htm#ref_957_32">Key</a>)); 604 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a>; 605<span class="comment"><em>------------------------------------------------------------------------------</em></span> 606 <b>procedure</b> <span class="symbol"><a name="ref_589_14" href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a></span> (<span class="symbol"><a name="ref_589_24" href="terminal_interface-curses__ads.htm#ref_971_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 607 <span class="symbol"><a name="ref_590_24" href="terminal_interface-curses__ads.htm#ref_972_24">On</a></span> : Boolean := True) 608 <b>is</b> 609 <b>function</b> <span class="symbol"><a name="ref_592_16">wstandout</a></span> (<span class="symbol"><a name="ref_592_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 610 <b>pragma</b> Import (C, wstandout, "wstandout"); 611 <b>function</b> <span class="symbol"><a name="ref_594_16">wstandend</a></span> (<span class="symbol"><a name="ref_594_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 612 <b>pragma</b> Import (C, wstandend, "wstandend"); 613 614 <span class="symbol"><a name="ref_597_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 615 <b>begin</b> 616 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_972_24">On</a> <b>then</b> 617 <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_592_16">wstandout</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>); 618 <b>else</b> 619 <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_594_16">wstandend</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>); 620 <b>end</b> <b>if</b>; 621 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 622 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 623 <b>end</b> <b>if</b>; 624 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a>; 625 626 <b>procedure</b> <span class="symbol"><a name="ref_609_14" href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a></span> 627 (<span class="symbol"><a name="ref_610_7" href="terminal_interface-curses__ads.htm#ref_978_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 628 <span class="symbol"><a name="ref_611_7" href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; 629 <span class="symbol"><a name="ref_612_7" href="terminal_interface-curses__ads.htm#ref_980_7">On</a></span> : Boolean := True) 630 <b>is</b> 631 <b>function</b> <span class="symbol"><a name="ref_614_16">Wattron</a></span> (<span class="symbol"><a name="ref_614_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 632 <span class="symbol"><a name="ref_615_25">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 633 <b>pragma</b> Import (C, Wattron, "wattr_on"); 634 <b>function</b> <span class="symbol"><a name="ref_617_16">Wattroff</a></span> (<span class="symbol"><a name="ref_617_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 635 <span class="symbol"><a name="ref_618_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 636 <b>pragma</b> Import (C, Wattroff, "wattr_off"); 637 <span class="comment"><em>-- In Ada we use the On Boolean to control whether or not we want to</em></span> 638 <span class="comment"><em>-- switch on or off the attributes in the set.</em></span> 639 <span class="symbol"><a name="ref_622_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 640 <span class="symbol"><a name="ref_623_7">AC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, 641 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 642 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a>); 643 <b>begin</b> 644 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_980_7">On</a> <b>then</b> 645 <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_614_16">Wattron</a> (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>); 646 <b>else</b> 647 <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</a> (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>); 648 <b>end</b> <b>if</b>; 649 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 650 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 651 <b>end</b> <b>if</b>; 652 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a>; 653 654 <b>procedure</b> <span class="symbol"><a name="ref_637_14" href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a></span> 655 (<span class="symbol"><a name="ref_638_7" href="terminal_interface-curses__ads.htm#ref_989_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 656 <span class="symbol"><a name="ref_639_7" href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; 657 <span class="symbol"><a name="ref_640_7" href="terminal_interface-curses__ads.htm#ref_991_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) 658 <b>is</b> 659 <b>function</b> <span class="symbol"><a name="ref_642_16">Wattrset</a></span> (<span class="symbol"><a name="ref_642_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 660 <span class="symbol"><a name="ref_643_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 661 <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><em>-- ??? wattr_set</em></span> 662 <b>begin</b> 663 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</a> (<a href="terminal_interface-curses__ads.htm#ref_989_7">Win</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, 664 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_991_7">Color</a>, 665 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 666 <b>then</b> 667 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 668 <b>end</b> <b>if</b>; 669 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a>; 670 671 <b>function</b> <span class="symbol"><a name="ref_654_13" href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_654_38" href="terminal_interface-curses__ads.htm#ref_998_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 672 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> 673 <b>is</b> 674 <b>function</b> <span class="symbol"><a name="ref_657_16">Wattrget</a></span> (<span class="symbol"><a name="ref_657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 675 <span class="symbol"><a name="ref_658_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 676 <span class="symbol"><a name="ref_659_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 677 <span class="symbol"><a name="ref_660_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 678 <b>pragma</b> Import (C, Wattrget, "wattr_get"); 679 680 <span class="symbol"><a name="ref_663_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 681 <span class="symbol"><a name="ref_664_7">Col</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 682 <span class="symbol"><a name="ref_665_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_998_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_664_7">Col</a>'<b>Access</b>, 683 System.Null_Address); 684 <b>begin</b> 685 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_665_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b> 686 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; 687 <b>else</b> 688 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 689 <b>end</b> <b>if</b>; 690 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a>; 691 692 <b>function</b> <span class="symbol"><a name="ref_675_13" href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_675_38" href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 693 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> 694 <b>is</b> 695 <b>function</b> <span class="symbol"><a name="ref_678_16">Wattrget</a></span> (<span class="symbol"><a name="ref_678_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 696 <span class="symbol"><a name="ref_679_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 697 <span class="symbol"><a name="ref_680_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 698 <span class="symbol"><a name="ref_681_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 699 <b>pragma</b> Import (C, Wattrget, "wattr_get"); 700 701 <span class="symbol"><a name="ref_684_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 702 <span class="symbol"><a name="ref_685_7">Col</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 703 <span class="symbol"><a name="ref_686_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_685_7">Col</a>'<b>Access</b>, 704 System.Null_Address); 705 <b>begin</b> 706 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_686_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b> 707 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; 708 <b>else</b> 709 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 710 <b>end</b> <b>if</b>; 711 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a>; 712 713 <b>procedure</b> <span class="symbol"><a name="ref_696_14" href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a></span> (<span class="symbol"><a name="ref_696_25" href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 714 <span class="symbol"><a name="ref_697_25" href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) 715 <b>is</b> 716 <b>function</b> <span class="symbol"><a name="ref_699_16">Wset_Color</a></span> (<span class="symbol"><a name="ref_699_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 717 <span class="symbol"><a name="ref_700_28">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 718 <span class="symbol"><a name="ref_701_28">Opts</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 719 <b>pragma</b> Import (C, Wset_Color, "wcolor_set"); 720 <b>begin</b> 721 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</a> (<a href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a>, 722 <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a>), 723 <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a> (System.Null_Address)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 724 <b>then</b> 725 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 726 <b>end</b> <b>if</b>; 727 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a>; 728 729 <b>procedure</b> <span class="symbol"><a name="ref_712_14" href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a></span> 730 (<span class="symbol"><a name="ref_713_7" href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 731 <span class="symbol"><a name="ref_714_7" href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a></span> : Integer := -1; 732 <span class="symbol"><a name="ref_715_7" href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; 733 <span class="symbol"><a name="ref_716_7" href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) 734 <b>is</b> 735 <b>function</b> <span class="symbol"><a name="ref_718_16">Wchgat</a></span> (<span class="symbol"><a name="ref_718_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 736 <span class="symbol"><a name="ref_719_24">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 737 <span class="symbol"><a name="ref_720_24">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 738 <span class="symbol"><a name="ref_721_24">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 739 <span class="symbol"><a name="ref_722_24">Opts</a></span> : System.Address := System.Null_Address) 740 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 741 <b>pragma</b> Import (C, Wchgat, "wchgat"); 742 <b>begin</b> 743 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</a> (<a href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a>, 744 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a>), 745 (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, 746 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 747 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a>), 748 <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 749 <b>then</b> 750 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 751 <b>end</b> <b>if</b>; 752 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a>; 753 754 <b>procedure</b> <span class="symbol"><a name="ref_737_14" href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a></span> 755 (<span class="symbol"><a name="ref_738_7" href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 756 <span class="symbol"><a name="ref_739_7" href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'First; 757 <span class="symbol"><a name="ref_740_7" href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'First; 758 <span class="symbol"><a name="ref_741_7" href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a></span> : Integer := -1; 759 <span class="symbol"><a name="ref_742_7" href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; 760 <span class="symbol"><a name="ref_743_7" href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) 761 <b>is</b> 762 <b>begin</b> 763 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a>); 764 <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a>, <a href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a>, <a href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a>); 765 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a>; 766<span class="comment"><em>------------------------------------------------------------------------------</em></span> 767 <b>procedure</b> <span class="symbol"><a name="ref_750_14" href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a></span> 768 <b>is</b> 769 <b>function</b> <span class="symbol"><a name="ref_752_16">Beeper</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 770 <b>pragma</b> Import (C, Beeper, "beep"); 771 <b>begin</b> 772 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_752_16">Beeper</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 773 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 774 <b>end</b> <b>if</b>; 775 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>; 776 777 <b>procedure</b> <span class="symbol"><a name="ref_760_14" href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a></span> 778 <b>is</b> 779 <b>function</b> <span class="symbol"><a name="ref_762_16">Flash</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 780 <b>pragma</b> Import (C, Flash, "flash"); 781 <b>begin</b> 782 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_762_16">Flash</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 783 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 784 <b>end</b> <b>if</b>; 785 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a>; 786<span class="comment"><em>------------------------------------------------------------------------------</em></span> 787 <b>procedure</b> <span class="symbol"><a name="ref_770_14" href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a></span> (<span class="symbol"><a name="ref_770_31" href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a></span> : Boolean := True) 788 <b>is</b> 789 <b>function</b> <span class="symbol"><a name="ref_772_16">Cbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 790 <b>pragma</b> Import (C, Cbreak, "cbreak"); 791 <b>function</b> <span class="symbol"><a name="ref_774_16">NoCbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 792 <b>pragma</b> Import (C, NoCbreak, "nocbreak"); 793 794 <span class="symbol"><a name="ref_777_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 795 <b>begin</b> 796 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a> <b>then</b> 797 <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</a>; 798 <b>else</b> 799 <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</a>; 800 <b>end</b> <b>if</b>; 801 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 802 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 803 <b>end</b> <b>if</b>; 804 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a>; 805 806 <b>procedure</b> <span class="symbol"><a name="ref_789_14" href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a></span> (<span class="symbol"><a name="ref_789_28" href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a></span> : Boolean := True) 807 <b>is</b> 808 <b>function</b> <span class="symbol"><a name="ref_791_16">Raw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 809 <b>pragma</b> Import (C, Raw, "raw"); 810 <b>function</b> <span class="symbol"><a name="ref_793_16">NoRaw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 811 <b>pragma</b> Import (C, NoRaw, "noraw"); 812 813 <span class="symbol"><a name="ref_796_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 814 <b>begin</b> 815 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a> <b>then</b> 816 <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_791_16">Raw</a>; 817 <b>else</b> 818 <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</a>; 819 <b>end</b> <b>if</b>; 820 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 821 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 822 <b>end</b> <b>if</b>; 823 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a>; 824 825 <b>procedure</b> <span class="symbol"><a name="ref_808_14" href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a></span> (<span class="symbol"><a name="ref_808_29" href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a></span> : Boolean := True) 826 <b>is</b> 827 <b>function</b> <span class="symbol"><a name="ref_810_16">Echo</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 828 <b>pragma</b> Import (C, Echo, "echo"); 829 <b>function</b> <span class="symbol"><a name="ref_812_16">NoEcho</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 830 <b>pragma</b> Import (C, NoEcho, "noecho"); 831 832 <span class="symbol"><a name="ref_815_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 833 <b>begin</b> 834 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a> <b>then</b> 835 <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_810_16">Echo</a>; 836 <b>else</b> 837 <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</a>; 838 <b>end</b> <b>if</b>; 839 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 840 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 841 <b>end</b> <b>if</b>; 842 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a>; 843 844 <b>procedure</b> <span class="symbol"><a name="ref_827_14" href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a></span> (<span class="symbol"><a name="ref_827_29" href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 845 <span class="symbol"><a name="ref_828_29" href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a></span> : Boolean := True) 846 <b>is</b> 847 <b>function</b> <span class="symbol"><a name="ref_830_16">Meta</a></span> (<span class="symbol"><a name="ref_830_22">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_830_34">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 848 <b>pragma</b> Import (C, Meta, "meta"); 849 <b>begin</b> 850 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_830_16">Meta</a> (<a href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 851 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 852 <b>end</b> <b>if</b>; 853 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a>; 854 855 <b>procedure</b> <span class="symbol"><a name="ref_838_14" href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_838_31" href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 856 <span class="symbol"><a name="ref_839_31" href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a></span> : Boolean := True) 857 <b>is</b> 858 <b>function</b> <span class="symbol"><a name="ref_841_16">Keypad</a></span> (<span class="symbol"><a name="ref_841_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_841_36">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 859 <b>pragma</b> Import (C, Keypad, "keypad"); 860 <b>begin</b> 861 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_841_16">Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 862 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 863 <b>end</b> <b>if</b>; 864 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a>; 865 866 <b>function</b> <span class="symbol"><a name="ref_849_13" href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_849_30" href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 867 <b>return</b> Boolean 868 <b>is</b> 869 <b>function</b> <span class="symbol"><a name="ref_852_16">Is_Keypad</a></span> (<span class="symbol"><a name="ref_852_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 870 <b>pragma</b> Import (C, Is_Keypad, "is_keypad"); 871 <b>begin</b> 872 <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>); 873 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a>; 874 875 <b>procedure</b> <span class="symbol"><a name="ref_858_14" href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a></span> (<span class="symbol"><a name="ref_858_26" href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</a>) 876 <b>is</b> 877 <b>function</b> <span class="symbol"><a name="ref_860_16">Halfdelay</a></span> (<span class="symbol"><a name="ref_860_27">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 878 <b>pragma</b> Import (C, Halfdelay, "halfdelay"); 879 <b>begin</b> 880 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 881 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 882 <b>end</b> <b>if</b>; 883 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a>; 884 885 <b>procedure</b> <span class="symbol"><a name="ref_868_14" href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a></span> 886 (<span class="symbol"><a name="ref_869_7" href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 887 <span class="symbol"><a name="ref_870_7" href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a></span> : Boolean := True) 888 <b>is</b> 889 <b>function</b> <span class="symbol"><a name="ref_872_16">Intrflush</a></span> (<span class="symbol"><a name="ref_872_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_872_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 890 <b>pragma</b> Import (C, Intrflush, "intrflush"); 891 <b>begin</b> 892 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</a> (<a href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 893 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 894 <b>end</b> <b>if</b>; 895 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a>; 896 897 <b>procedure</b> <span class="symbol"><a name="ref_880_14" href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a></span> 898 (<span class="symbol"><a name="ref_881_7" href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 899 <span class="symbol"><a name="ref_882_7" href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a></span> : Boolean := True) 900 <b>is</b> 901 <b>procedure</b> <span class="symbol"><a name="ref_884_17">Qiflush</a></span>; 902 <b>pragma</b> Import (C, Qiflush, "qiflush"); 903 <b>procedure</b> <span class="symbol"><a name="ref_886_17">No_Qiflush</a></span>; 904 <b>pragma</b> Import (C, No_Qiflush, "noqiflush"); 905 <b>begin</b> 906 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 907 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 908 <b>end</b> <b>if</b>; 909 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a> <b>then</b> 910 <a href="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</a>; 911 <b>else</b> 912 <a href="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</a>; 913 <b>end</b> <b>if</b>; 914 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a>; 915 916 <b>procedure</b> <span class="symbol"><a name="ref_899_14" href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a></span> 917 (<span class="symbol"><a name="ref_900_7" href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 918 <span class="symbol"><a name="ref_901_7" href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a></span> : Boolean := False) 919 <b>is</b> 920 <b>function</b> <span class="symbol"><a name="ref_903_16">Nodelay</a></span> (<span class="symbol"><a name="ref_903_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_903_39">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 921 <b>pragma</b> Import (C, Nodelay, "nodelay"); 922 <b>begin</b> 923 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</a> (<a href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 924 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 925 <b>end</b> <b>if</b>; 926 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a>; 927 928 <b>procedure</b> <span class="symbol"><a name="ref_911_14" href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a></span> (<span class="symbol"><a name="ref_911_32" href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 929 <span class="symbol"><a name="ref_912_32" href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</a>; 930 <span class="symbol"><a name="ref_913_32" href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a></span> : Natural) 931 <b>is</b> 932 <b>procedure</b> <span class="symbol"><a name="ref_915_17">Wtimeout</a></span> (<span class="symbol"><a name="ref_915_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_915_41">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>); 933 <b>pragma</b> Import (C, Wtimeout, "wtimeout"); 934 935 <span class="symbol"><a name="ref_918_7">Time</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 936 <b>begin</b> 937 <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a> <b>is</b> 938 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_26">Blocking</a> => <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := -1; 939 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_36">Non_Blocking</a> => <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := 0; 940 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_50">Delayed</a> => 941 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a> = 0 <b>then</b> 942 <b>raise</b> Constraint_Error; 943 <b>end</b> <b>if</b>; 944 <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a>); 945 <b>end</b> <b>case</b>; 946 <a href="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a>); 947 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a>; 948 949 <b>procedure</b> <span class="symbol"><a name="ref_932_14" href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a></span> 950 (<span class="symbol"><a name="ref_933_7" href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 951 <span class="symbol"><a name="ref_934_7" href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a></span> : Boolean := False) 952 <b>is</b> 953 <b>function</b> <span class="symbol"><a name="ref_936_16">Notimeout</a></span> (<span class="symbol"><a name="ref_936_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_936_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 954 <b>pragma</b> Import (C, Notimeout, "notimeout"); 955 <b>begin</b> 956 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a>))) 957 = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 958 <b>then</b> 959 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 960 <b>end</b> <b>if</b>; 961 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a>; 962 963<span class="comment"><em>------------------------------------------------------------------------------</em></span> 964 <b>procedure</b> <span class="symbol"><a name="ref_947_14" href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a></span> (<span class="symbol"><a name="ref_947_27" href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a></span> : Boolean := True) 965 <b>is</b> 966 <b>function</b> <span class="symbol"><a name="ref_949_16">NL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 967 <b>pragma</b> Import (C, NL, "nl"); 968 <b>function</b> <span class="symbol"><a name="ref_951_16">NoNL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 969 <b>pragma</b> Import (C, NoNL, "nonl"); 970 971 <span class="symbol"><a name="ref_954_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 972 <b>begin</b> 973 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a> <b>then</b> 974 <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_949_16">NL</a>; 975 <b>else</b> 976 <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_951_16">NoNL</a>; 977 <b>end</b> <b>if</b>; 978 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 979 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 980 <b>end</b> <b>if</b>; 981 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a>; 982 983 <b>procedure</b> <span class="symbol"><a name="ref_966_14" href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a></span> 984 (<span class="symbol"><a name="ref_967_7" href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 985 <span class="symbol"><a name="ref_968_7" href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a></span> : Boolean := True) 986 <b>is</b> 987 <b>function</b> <span class="symbol"><a name="ref_970_16">Clear_Ok</a></span> (<span class="symbol"><a name="ref_970_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_970_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 988 <b>pragma</b> Import (C, Clear_Ok, "clearok"); 989 <b>begin</b> 990 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 991 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 992 <b>end</b> <b>if</b>; 993 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a>; 994 995 <b>procedure</b> <span class="symbol"><a name="ref_978_14" href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a></span> 996 (<span class="symbol"><a name="ref_979_7" href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 997 <span class="symbol"><a name="ref_980_7" href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a></span> : Boolean := True) 998 <b>is</b> 999 <b>function</b> <span class="symbol"><a name="ref_982_16">IDL_Ok</a></span> (<span class="symbol"><a name="ref_982_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_982_36">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1000 <b>pragma</b> Import (C, IDL_Ok, "idlok"); 1001 <b>begin</b> 1002 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1003 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1004 <b>end</b> <b>if</b>; 1005 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a>; 1006 1007 <b>procedure</b> <span class="symbol"><a name="ref_990_14" href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a></span> 1008 (<span class="symbol"><a name="ref_991_7" href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1009 <span class="symbol"><a name="ref_992_7" href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a></span> : Boolean := True) 1010 <b>is</b> 1011 <b>procedure</b> <span class="symbol"><a name="ref_994_17">IDC_Ok</a></span> (<span class="symbol"><a name="ref_994_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_994_37">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>); 1012 <b>pragma</b> Import (C, IDC_Ok, "idcok"); 1013 <b>begin</b> 1014 <a href="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a>))); 1015 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a>; 1016 1017 <b>procedure</b> <span class="symbol"><a name="ref_1000_14" href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a></span> 1018 (<span class="symbol"><a name="ref_1001_7" href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1019 <span class="symbol"><a name="ref_1002_7" href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a></span> : Boolean := True) 1020 <b>is</b> 1021 <b>function</b> <span class="symbol"><a name="ref_1004_16">Leave_Ok</a></span> (<span class="symbol"><a name="ref_1004_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1004_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1022 <b>pragma</b> Import (C, Leave_Ok, "leaveok"); 1023 <b>begin</b> 1024 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1025 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1026 <b>end</b> <b>if</b>; 1027 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a>; 1028 1029 <b>procedure</b> <span class="symbol"><a name="ref_1012_14" href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a></span> 1030 (<span class="symbol"><a name="ref_1013_7" href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1031 <span class="symbol"><a name="ref_1014_7" href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a></span> : Boolean := False) 1032 <b>is</b> 1033 <b>procedure</b> <span class="symbol"><a name="ref_1016_17">Immedok</a></span> (<span class="symbol"><a name="ref_1016_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1016_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>); 1034 <b>pragma</b> Import (C, Immedok, "immedok"); 1035 <b>begin</b> 1036 <a href="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</a> (<a href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a>))); 1037 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a>; 1038 1039 <b>procedure</b> <span class="symbol"><a name="ref_1022_14" href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a></span> 1040 (<span class="symbol"><a name="ref_1023_7" href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1041 <span class="symbol"><a name="ref_1024_7" href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a></span> : Boolean := False) 1042 <b>is</b> 1043 <b>function</b> <span class="symbol"><a name="ref_1026_16">Scrollok</a></span> (<span class="symbol"><a name="ref_1026_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1026_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1044 <b>pragma</b> Import (C, Scrollok, "scrollok"); 1045 <b>begin</b> 1046 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</a> (<a href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1047 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1048 <b>end</b> <b>if</b>; 1049 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a>; 1050 1051 <b>function</b> <span class="symbol"><a name="ref_1034_13" href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a></span> (<span class="symbol"><a name="ref_1034_32" href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1052 <b>return</b> Boolean 1053 <b>is</b> 1054 <b>function</b> <span class="symbol"><a name="ref_1037_16">Is_Scroll_Ok</a></span> (<span class="symbol"><a name="ref_1037_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 1055 <b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok"); 1056 <b>begin</b> 1057 <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>); 1058 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a>; 1059 1060 <b>procedure</b> <span class="symbol"><a name="ref_1043_14" href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a></span> 1061 (<span class="symbol"><a name="ref_1044_7" href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1062 <span class="symbol"><a name="ref_1045_7" href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1063 <span class="symbol"><a name="ref_1046_7" href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) 1064 <b>is</b> 1065 <b>function</b> <span class="symbol"><a name="ref_1048_16">Wsetscrreg</a></span> (<span class="symbol"><a name="ref_1048_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1066 <span class="symbol"><a name="ref_1049_28">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1067 <span class="symbol"><a name="ref_1050_28">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1068 <b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg"); 1069 <b>begin</b> 1070 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</a> (<a href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a>)) 1071 = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1072 <b>then</b> 1073 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1074 <b>end</b> <b>if</b>; 1075 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a>; 1076<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1077 <b>procedure</b> <span class="symbol"><a name="ref_1060_14" href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a></span> 1078 <b>is</b> 1079 <b>function</b> <span class="symbol"><a name="ref_1062_16">Do_Update</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1080 <b>pragma</b> Import (C, Do_Update, "doupdate"); 1081 <b>begin</b> 1082 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1083 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1084 <b>end</b> <b>if</b>; 1085 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a>; 1086 1087 <b>procedure</b> <span class="symbol"><a name="ref_1070_14" href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a></span> (<span class="symbol"><a name="ref_1070_23" href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1088 <b>is</b> 1089 <b>function</b> <span class="symbol"><a name="ref_1072_16">Wrefresh</a></span> (<span class="symbol"><a name="ref_1072_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1090 <b>pragma</b> Import (C, Wrefresh, "wrefresh"); 1091 <b>begin</b> 1092 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1093 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1094 <b>end</b> <b>if</b>; 1095 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a>; 1096 1097 <b>procedure</b> <span class="symbol"><a name="ref_1080_14" href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a></span> 1098 (<span class="symbol"><a name="ref_1081_7" href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1099 <b>is</b> 1100 <b>function</b> <span class="symbol"><a name="ref_1083_16">Wnoutrefresh</a></span> (<span class="symbol"><a name="ref_1083_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1101 <b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh"); 1102 <b>begin</b> 1103 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1104 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1105 <b>end</b> <b>if</b>; 1106 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a>; 1107 1108 <b>procedure</b> <span class="symbol"><a name="ref_1091_14" href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a></span> (<span class="symbol"><a name="ref_1091_22" href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1109 <b>is</b> 1110 <b>function</b> <span class="symbol"><a name="ref_1093_16">Redrawwin</a></span> (<span class="symbol"><a name="ref_1093_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1111 <b>pragma</b> Import (C, Redrawwin, "redrawwin"); 1112 <b>begin</b> 1113 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</a> (<a href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1114 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1115 <b>end</b> <b>if</b>; 1116 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a>; 1117 1118 <b>procedure</b> <span class="symbol"><a name="ref_1101_14" href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a></span> 1119 (<span class="symbol"><a name="ref_1102_7" href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1120 <span class="symbol"><a name="ref_1103_7" href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1121 <span class="symbol"><a name="ref_1104_7" href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a></span> : Positive) 1122 <b>is</b> 1123 <b>function</b> <span class="symbol"><a name="ref_1106_16">Wredrawln</a></span> (<span class="symbol"><a name="ref_1106_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1106_41">First</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1106_56">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) 1124 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1125 <b>pragma</b> Import (C, Wredrawln, "wredrawln"); 1126 <b>begin</b> 1127 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</a> (<a href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a>, 1128 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a>), 1129 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1130 <b>then</b> 1131 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1132 <b>end</b> <b>if</b>; 1133 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a>; 1134 1135<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1136 <b>procedure</b> <span class="symbol"><a name="ref_1119_14" href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a></span> (<span class="symbol"><a name="ref_1119_21" href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1137 <b>is</b> 1138 <b>function</b> <span class="symbol"><a name="ref_1121_16">Werase</a></span> (<span class="symbol"><a name="ref_1121_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1139 <b>pragma</b> Import (C, Werase, "werase"); 1140 <b>begin</b> 1141 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1121_16">Werase</a> (<a href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1142 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1143 <b>end</b> <b>if</b>; 1144 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a>; 1145 1146 <b>procedure</b> <span class="symbol"><a name="ref_1129_14" href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a></span> (<span class="symbol"><a name="ref_1129_21" href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1147 <b>is</b> 1148 <b>function</b> <span class="symbol"><a name="ref_1131_16">Wclear</a></span> (<span class="symbol"><a name="ref_1131_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1149 <b>pragma</b> Import (C, Wclear, "wclear"); 1150 <b>begin</b> 1151 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</a> (<a href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1152 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1153 <b>end</b> <b>if</b>; 1154 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a>; 1155 1156 <b>procedure</b> <span class="symbol"><a name="ref_1139_14" href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a></span> (<span class="symbol"><a name="ref_1139_38" href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1157 <b>is</b> 1158 <b>function</b> <span class="symbol"><a name="ref_1141_16">Wclearbot</a></span> (<span class="symbol"><a name="ref_1141_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1159 <b>pragma</b> Import (C, Wclearbot, "wclrtobot"); 1160 <b>begin</b> 1161 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</a> (<a href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1162 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1163 <b>end</b> <b>if</b>; 1164 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a>; 1165 1166 <b>procedure</b> <span class="symbol"><a name="ref_1149_14" href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a></span> (<span class="symbol"><a name="ref_1149_36" href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1167 <b>is</b> 1168 <b>function</b> <span class="symbol"><a name="ref_1151_16">Wcleareol</a></span> (<span class="symbol"><a name="ref_1151_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1169 <b>pragma</b> Import (C, Wcleareol, "wclrtoeol"); 1170 <b>begin</b> 1171 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</a> (<a href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1172 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1173 <b>end</b> <b>if</b>; 1174 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a>; 1175<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1176 <b>procedure</b> <span class="symbol"><a name="ref_1159_14" href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a></span> 1177 (<span class="symbol"><a name="ref_1160_7" href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1178 <span class="symbol"><a name="ref_1161_7" href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1179 <b>is</b> 1180 <b>procedure</b> <span class="symbol"><a name="ref_1163_17">WBackground</a></span> (<span class="symbol"><a name="ref_1163_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1163_42">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); 1181 <b>pragma</b> Import (C, WBackground, "wbkgdset"); 1182 <b>begin</b> 1183 <a href="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</a> (<a href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a>); 1184 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a>; 1185 1186 <b>procedure</b> <span class="symbol"><a name="ref_1169_14" href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a></span> 1187 (<span class="symbol"><a name="ref_1170_7" href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1188 <span class="symbol"><a name="ref_1171_7" href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1189 <b>is</b> 1190 <b>function</b> <span class="symbol"><a name="ref_1173_16">WChangeBkgd</a></span> (<span class="symbol"><a name="ref_1173_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1173_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1191 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1192 <b>pragma</b> Import (C, WChangeBkgd, "wbkgd"); 1193 <b>begin</b> 1194 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1195 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1196 <b>end</b> <b>if</b>; 1197 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a>; 1198 1199 <b>function</b> <span class="symbol"><a name="ref_1182_13" href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a></span> (<span class="symbol"><a name="ref_1182_29" href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1200 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> 1201 <b>is</b> 1202 <b>function</b> <span class="symbol"><a name="ref_1185_16">Wgetbkgd</a></span> (<span class="symbol"><a name="ref_1185_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 1203 <b>pragma</b> Import (C, Wgetbkgd, "getbkgd"); 1204 <b>begin</b> 1205 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a>); 1206 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a>; 1207<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1208 <b>procedure</b> <span class="symbol"><a name="ref_1191_14" href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a></span> (<span class="symbol"><a name="ref_1191_35" href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1209 <span class="symbol"><a name="ref_1192_35" href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1210 <span class="symbol"><a name="ref_1193_35" href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a></span> : Positive; 1211 <span class="symbol"><a name="ref_1194_35" href="terminal_interface-curses__ads.htm#ref_1326_35">State</a></span> : Boolean) 1212 <b>is</b> 1213 <b>function</b> <span class="symbol"><a name="ref_1196_16">Wtouchln</a></span> (<span class="symbol"><a name="ref_1196_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1214 <span class="symbol"><a name="ref_1197_26">Sta</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1215 <span class="symbol"><a name="ref_1198_26">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1216 <span class="symbol"><a name="ref_1199_26">Chg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1217 <b>pragma</b> Import (C, Wtouchln, "wtouchln"); 1218 <b>begin</b> 1219 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</a> (<a href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a>), 1220 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1326_35">State</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1221 <b>then</b> 1222 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1223 <b>end</b> <b>if</b>; 1224 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a>; 1225 1226 <b>procedure</b> <span class="symbol"><a name="ref_1209_14" href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a></span> (<span class="symbol"><a name="ref_1209_21" href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1227 <b>is</b> 1228 <span class="symbol"><a name="ref_1211_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1229 <span class="symbol"><a name="ref_1212_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1230 <b>begin</b> 1231 <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>); 1232 <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>); <span class="comment"><em>-- unreferenced</em></span> 1233 <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>), True); 1234 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a>; 1235 1236 <b>procedure</b> <span class="symbol"><a name="ref_1219_14" href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a></span> (<span class="symbol"><a name="ref_1219_23" href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1237 <b>is</b> 1238 <span class="symbol"><a name="ref_1221_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1239 <span class="symbol"><a name="ref_1222_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1240 <b>begin</b> 1241 <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>); 1242 <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>); <span class="comment"><em>-- unreferenced</em></span> 1243 <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>), False); 1244 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a>; 1245 1246 <b>procedure</b> <span class="symbol"><a name="ref_1229_14" href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a></span> (<span class="symbol"><a name="ref_1229_21" href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1247 <span class="symbol"><a name="ref_1230_21" href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1248 <span class="symbol"><a name="ref_1231_21" href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a></span> : Positive) 1249 <b>is</b> 1250 <b>begin</b> 1251 <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a>, <a href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a>, True); 1252 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a>; 1253 1254 <b>function</b> <span class="symbol"><a name="ref_1237_13" href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a></span> 1255 (<span class="symbol"><a name="ref_1238_7" href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1256 <span class="symbol"><a name="ref_1239_7" href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Boolean 1257 <b>is</b> 1258 <b>function</b> <span class="symbol"><a name="ref_1241_16">WLineTouched</a></span> (<span class="symbol"><a name="ref_1241_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1241_42">L</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 1259 <b>pragma</b> Import (C, WLineTouched, "is_linetouched"); 1260 <b>begin</b> 1261 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a>)) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 1262 <b>return</b> False; 1263 <b>else</b> 1264 <b>return</b> True; 1265 <b>end</b> <b>if</b>; 1266 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a>; 1267 1268 <b>function</b> <span class="symbol"><a name="ref_1251_13" href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a></span> 1269 (<span class="symbol"><a name="ref_1252_7" href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean 1270 <b>is</b> 1271 <b>function</b> <span class="symbol"><a name="ref_1254_16">WWinTouched</a></span> (<span class="symbol"><a name="ref_1254_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 1272 <b>pragma</b> Import (C, WWinTouched, "is_wintouched"); 1273 <b>begin</b> 1274 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a>) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 1275 <b>return</b> False; 1276 <b>else</b> 1277 <b>return</b> True; 1278 <b>end</b> <b>if</b>; 1279 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a>; 1280<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1281 <b>procedure</b> <span class="symbol"><a name="ref_1264_14" href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a></span> 1282 (<span class="symbol"><a name="ref_1265_7" href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1283 <span class="symbol"><a name="ref_1266_7" href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1284 <span class="symbol"><a name="ref_1267_7" href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1285 <span class="symbol"><a name="ref_1268_7" href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1286 <span class="symbol"><a name="ref_1269_7" href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1287 <span class="symbol"><a name="ref_1270_7" href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1288 <span class="symbol"><a name="ref_1271_7" href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1289 <span class="symbol"><a name="ref_1272_7" href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1290 <span class="symbol"><a name="ref_1273_7" href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a></span> : Boolean := True) 1291 <b>is</b> 1292 <b>function</b> <span class="symbol"><a name="ref_1275_16">Copywin</a></span> (<span class="symbol"><a name="ref_1275_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1293 <span class="symbol"><a name="ref_1276_25">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1294 <span class="symbol"><a name="ref_1277_25">Str</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1295 <span class="symbol"><a name="ref_1278_25">Slc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1296 <span class="symbol"><a name="ref_1279_25">Dtr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1297 <span class="symbol"><a name="ref_1280_25">Dlc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1298 <span class="symbol"><a name="ref_1281_25">Dbr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1299 <span class="symbol"><a name="ref_1282_25">Drc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1300 <span class="symbol"><a name="ref_1283_25">Ndm</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1301 <b>pragma</b> Import (C, Copywin, "copywin"); 1302 <b>begin</b> 1303 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</a> (<a href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a>, 1304 <a href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a>, 1305 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a>), 1306 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a>), 1307 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a>), 1308 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a>), 1309 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a>), 1310 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a>), 1311 Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a>) 1312 ) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1313 <b>then</b> 1314 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1315 <b>end</b> <b>if</b>; 1316 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a>; 1317 1318 <b>procedure</b> <span class="symbol"><a name="ref_1301_14" href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a></span> 1319 (<span class="symbol"><a name="ref_1302_7" href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1320 <span class="symbol"><a name="ref_1303_7" href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) 1321 <b>is</b> 1322 <b>function</b> <span class="symbol"><a name="ref_1305_16">Overwrite</a></span> (<span class="symbol"><a name="ref_1305_27">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1305_41">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1323 <b>pragma</b> Import (C, Overwrite, "overwrite"); 1324 <b>begin</b> 1325 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</a> (<a href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1326 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1327 <b>end</b> <b>if</b>; 1328 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a>; 1329 1330 <b>procedure</b> <span class="symbol"><a name="ref_1313_14" href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a></span> 1331 (<span class="symbol"><a name="ref_1314_7" href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1332 <span class="symbol"><a name="ref_1315_7" href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) 1333 <b>is</b> 1334 <b>function</b> <span class="symbol"><a name="ref_1317_16">Overlay</a></span> (<span class="symbol"><a name="ref_1317_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1317_39">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1335 <b>pragma</b> Import (C, Overlay, "overlay"); 1336 <b>begin</b> 1337 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</a> (<a href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1338 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1339 <b>end</b> <b>if</b>; 1340 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a>; 1341 1342<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1343 <b>procedure</b> <span class="symbol"><a name="ref_1326_14" href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a></span> 1344 (<span class="symbol"><a name="ref_1327_7" href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1345 <span class="symbol"><a name="ref_1328_7" href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a></span> : Integer := 1) <span class="comment"><em>-- default is to insert one line above</em></span> 1346 <b>is</b> 1347 <b>function</b> <span class="symbol"><a name="ref_1330_16">Winsdelln</a></span> (<span class="symbol"><a name="ref_1330_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1330_39">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1348 <b>pragma</b> Import (C, Winsdelln, "winsdelln"); 1349 <b>begin</b> 1350 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</a> (<a href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1351 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1352 <b>end</b> <b>if</b>; 1353 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a>; 1354 1355 <b>procedure</b> <span class="symbol"><a name="ref_1338_14" href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a></span> (<span class="symbol"><a name="ref_1338_27" href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1356 <b>is</b> 1357 <b>begin</b> 1358 <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a>, -1); 1359 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a>; 1360 1361 <b>procedure</b> <span class="symbol"><a name="ref_1344_14" href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a></span> (<span class="symbol"><a name="ref_1344_27" href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1362 <b>is</b> 1363 <b>begin</b> 1364 <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a>, 1); 1365 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a>; 1366<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1367 1368 <b>procedure</b> <span class="symbol"><a name="ref_1351_14" href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a></span> 1369 (<span class="symbol"><a name="ref_1352_7" href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1370 <span class="symbol"><a name="ref_1353_7" href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 1371 <span class="symbol"><a name="ref_1354_7" href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) 1372 <b>is</b> 1373 <b>function</b> <span class="symbol"><a name="ref_1356_16">GetMaxY</a></span> (<span class="symbol"><a name="ref_1356_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1374 <b>pragma</b> Import (C, GetMaxY, "getmaxy"); 1375 1376 <b>function</b> <span class="symbol"><a name="ref_1359_16">GetMaxX</a></span> (<span class="symbol"><a name="ref_1359_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1377 <b>pragma</b> Import (C, GetMaxX, "getmaxx"); 1378 1379 <span class="symbol"><a name="ref_1362_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>); 1380 <span class="symbol"><a name="ref_1363_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>); 1381 <b>begin</b> 1382 <a href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1362_7">Y</a>); 1383 <a href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1363_7">X</a>); 1384 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a>; 1385 1386 <b>procedure</b> <span class="symbol"><a name="ref_1369_14" href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a></span> 1387 (<span class="symbol"><a name="ref_1370_7" href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1388 <span class="symbol"><a name="ref_1371_7" href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1389 <span class="symbol"><a name="ref_1372_7" href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 1390 <b>is</b> 1391 <b>function</b> <span class="symbol"><a name="ref_1374_16">GetBegY</a></span> (<span class="symbol"><a name="ref_1374_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1392 <b>pragma</b> Import (C, GetBegY, "getbegy"); 1393 1394 <b>function</b> <span class="symbol"><a name="ref_1377_16">GetBegX</a></span> (<span class="symbol"><a name="ref_1377_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1395 <b>pragma</b> Import (C, GetBegX, "getbegx"); 1396 1397 <span class="symbol"><a name="ref_1380_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>)); 1398 <span class="symbol"><a name="ref_1381_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>)); 1399 <b>begin</b> 1400 <a href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1380_7">Y</a>); 1401 <a href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1381_7">X</a>); 1402 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a>; 1403 1404 <b>procedure</b> <span class="symbol"><a name="ref_1387_14" href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a></span> 1405 (<span class="symbol"><a name="ref_1388_7" href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1406 <span class="symbol"><a name="ref_1389_7" href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1407 <span class="symbol"><a name="ref_1390_7" href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 1408 <b>is</b> 1409 <b>function</b> <span class="symbol"><a name="ref_1392_16">GetCurY</a></span> (<span class="symbol"><a name="ref_1392_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1410 <b>pragma</b> Import (C, GetCurY, "getcury"); 1411 1412 <b>function</b> <span class="symbol"><a name="ref_1395_16">GetCurX</a></span> (<span class="symbol"><a name="ref_1395_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1413 <b>pragma</b> Import (C, GetCurX, "getcurx"); 1414 1415 <span class="symbol"><a name="ref_1398_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>)); 1416 <span class="symbol"><a name="ref_1399_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>)); 1417 <b>begin</b> 1418 <a href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1398_7">Y</a>); 1419 <a href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1399_7">X</a>); 1420 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a>; 1421 1422 <b>procedure</b> <span class="symbol"><a name="ref_1405_14" href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a></span> 1423 (<span class="symbol"><a name="ref_1406_7" href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1424 <span class="symbol"><a name="ref_1407_7" href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1425 <span class="symbol"><a name="ref_1408_7" href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1426 <span class="symbol"><a name="ref_1409_7" href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a></span> : <b>out</b> Boolean) 1427 <b>is</b> 1428 <b>function</b> <span class="symbol"><a name="ref_1411_16">GetParY</a></span> (<span class="symbol"><a name="ref_1411_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1429 <b>pragma</b> Import (C, GetParY, "getpary"); 1430 1431 <b>function</b> <span class="symbol"><a name="ref_1414_16">GetParX</a></span> (<span class="symbol"><a name="ref_1414_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1432 <b>pragma</b> Import (C, GetParX, "getparx"); 1433 1434 <span class="symbol"><a name="ref_1417_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>); 1435 <span class="symbol"><a name="ref_1418_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>); 1436 <b>begin</b> 1437 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a> = -1 <b>then</b> 1438 <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'Last; 1439 <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'Last; 1440 <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := True; 1441 <b>else</b> 1442 <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a>); 1443 <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1418_7">X</a>); 1444 <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := False; 1445 <b>end</b> <b>if</b>; 1446 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a>; 1447<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1448 <b>function</b> <span class="symbol"><a name="ref_1431_13" href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a></span> (<span class="symbol"><a name="ref_1431_22" href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 1449 <span class="symbol"><a name="ref_1432_22" href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 1450 <b>is</b> 1451 <b>function</b> <span class="symbol"><a name="ref_1434_16">Newpad</a></span> (<span class="symbol"><a name="ref_1434_24">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1434_39">Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1452 <b>pragma</b> Import (C, Newpad, "newpad"); 1453 1454 <span class="symbol"><a name="ref_1437_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1455 <b>begin</b> 1456 <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a>)); 1457 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 1458 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1459 <b>end</b> <b>if</b>; 1460 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a>; 1461 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a>; 1462 1463 <b>function</b> <span class="symbol"><a name="ref_1446_13" href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a></span> 1464 (<span class="symbol"><a name="ref_1447_7" href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1465 <span class="symbol"><a name="ref_1448_7" href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 1466 <span class="symbol"><a name="ref_1449_7" href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; 1467 <span class="symbol"><a name="ref_1450_7" href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1468 <span class="symbol"><a name="ref_1451_7" href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> 1469 <b>is</b> 1470 <b>function</b> <span class="symbol"><a name="ref_1453_16">Subpad</a></span> 1471 (<span class="symbol"><a name="ref_1454_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1472 <span class="symbol"><a name="ref_1455_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1473 <span class="symbol"><a name="ref_1456_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1474 <span class="symbol"><a name="ref_1457_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1475 <span class="symbol"><a name="ref_1458_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1476 <b>pragma</b> Import (C, Subpad, "subpad"); 1477 1478 <span class="symbol"><a name="ref_1461_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1479 <b>begin</b> 1480 <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</a> (<a href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a>, 1481 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a>), 1482 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a>), 1483 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a>), 1484 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a>)); 1485 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> 1486 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1487 <b>end</b> <b>if</b>; 1488 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a>; 1489 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a>; 1490 1491 <b>procedure</b> <span class="symbol"><a name="ref_1474_14" href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a></span> 1492 (<span class="symbol"><a name="ref_1475_7" href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1493 <span class="symbol"><a name="ref_1476_7" href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1494 <span class="symbol"><a name="ref_1477_7" href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1495 <span class="symbol"><a name="ref_1478_7" href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1496 <span class="symbol"><a name="ref_1479_7" href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1497 <span class="symbol"><a name="ref_1480_7" href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1498 <span class="symbol"><a name="ref_1481_7" href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 1499 <b>is</b> 1500 <b>function</b> <span class="symbol"><a name="ref_1483_16">Prefresh</a></span> 1501 (<span class="symbol"><a name="ref_1484_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1502 <span class="symbol"><a name="ref_1485_10">Source_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1503 <span class="symbol"><a name="ref_1486_10">Source_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1504 <span class="symbol"><a name="ref_1487_10">Destination_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1505 <span class="symbol"><a name="ref_1488_10">Destination_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1506 <span class="symbol"><a name="ref_1489_10">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1507 <span class="symbol"><a name="ref_1490_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1508 <b>pragma</b> Import (C, Prefresh, "prefresh"); 1509 <b>begin</b> 1510 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a>, 1511 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a>), 1512 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a>), 1513 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a>), 1514 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a>), 1515 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a>), 1516 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1517 <b>then</b> 1518 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1519 <b>end</b> <b>if</b>; 1520 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a>; 1521 1522 <b>procedure</b> <span class="symbol"><a name="ref_1505_14" href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a></span> 1523 (<span class="symbol"><a name="ref_1506_7" href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1524 <span class="symbol"><a name="ref_1507_7" href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1525 <span class="symbol"><a name="ref_1508_7" href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1526 <span class="symbol"><a name="ref_1509_7" href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1527 <span class="symbol"><a name="ref_1510_7" href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1528 <span class="symbol"><a name="ref_1511_7" href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1529 <span class="symbol"><a name="ref_1512_7" href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 1530 <b>is</b> 1531 <b>function</b> <span class="symbol"><a name="ref_1514_16">Pnoutrefresh</a></span> 1532 (<span class="symbol"><a name="ref_1515_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1533 <span class="symbol"><a name="ref_1516_10">Source_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1534 <span class="symbol"><a name="ref_1517_10">Source_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1535 <span class="symbol"><a name="ref_1518_10">Destination_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1536 <span class="symbol"><a name="ref_1519_10">Destination_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1537 <span class="symbol"><a name="ref_1520_10">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1538 <span class="symbol"><a name="ref_1521_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1539 <b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh"); 1540 <b>begin</b> 1541 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a>, 1542 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a>), 1543 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a>), 1544 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a>), 1545 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a>), 1546 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a>), 1547 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1548 <b>then</b> 1549 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1550 <b>end</b> <b>if</b>; 1551 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a>; 1552 1553 <b>procedure</b> <span class="symbol"><a name="ref_1536_14" href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a></span> 1554 (<span class="symbol"><a name="ref_1537_7" href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1555 <span class="symbol"><a name="ref_1538_7" href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1556 <b>is</b> 1557 <b>function</b> <span class="symbol"><a name="ref_1540_16">Pechochar</a></span> (<span class="symbol"><a name="ref_1540_27">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1540_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1558 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1559 <b>pragma</b> Import (C, Pechochar, "pechochar"); 1560 <b>begin</b> 1561 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a>, <a href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1562 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1563 <b>end</b> <b>if</b>; 1564 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a>; 1565 1566 <b>procedure</b> <span class="symbol"><a name="ref_1549_14" href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a></span> 1567 (<span class="symbol"><a name="ref_1550_7" href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1568 <span class="symbol"><a name="ref_1551_7" href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a></span> : Character) 1569 <b>is</b> 1570 <b>begin</b> 1571 <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a> 1572 (<a href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a>, 1573 <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a>, 1574 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 1575 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 1576 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a>; 1577<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1578 <b>procedure</b> <span class="symbol"><a name="ref_1561_14" href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a></span> (<span class="symbol"><a name="ref_1561_22" href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1579 <span class="symbol"><a name="ref_1562_22" href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a></span> : Integer := 1) 1580 <b>is</b> 1581 <b>function</b> <span class="symbol"><a name="ref_1564_16">Wscrl</a></span> (<span class="symbol"><a name="ref_1564_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1564_37">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1582 <b>pragma</b> Import (C, Wscrl, "wscrl"); 1583 1584 <b>begin</b> 1585 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1586 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1587 <b>end</b> <b>if</b>; 1588 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a>; 1589 1590<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1591 <b>procedure</b> <span class="symbol"><a name="ref_1574_14" href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a></span> (<span class="symbol"><a name="ref_1574_32" href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1592 <b>is</b> 1593 <b>function</b> <span class="symbol"><a name="ref_1576_16">Wdelch</a></span> (<span class="symbol"><a name="ref_1576_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1594 <b>pragma</b> Import (C, Wdelch, "wdelch"); 1595 <b>begin</b> 1596 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1597 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1598 <b>end</b> <b>if</b>; 1599 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a>; 1600 1601 <b>procedure</b> <span class="symbol"><a name="ref_1584_14" href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a></span> 1602 (<span class="symbol"><a name="ref_1585_7" href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1603 <span class="symbol"><a name="ref_1586_7" href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1604 <span class="symbol"><a name="ref_1587_7" href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) 1605 <b>is</b> 1606 <b>function</b> <span class="symbol"><a name="ref_1589_16">Mvwdelch</a></span> (<span class="symbol"><a name="ref_1589_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1607 <span class="symbol"><a name="ref_1590_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1608 <span class="symbol"><a name="ref_1591_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1609 <b>pragma</b> Import (C, Mvwdelch, "mvwdelch"); 1610 <b>begin</b> 1611 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1612 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1613 <b>end</b> <b>if</b>; 1614 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a>; 1615<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1616 <b>function</b> <span class="symbol"><a name="ref_1599_13" href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a></span> (<span class="symbol"><a name="ref_1599_19" href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) 1617 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> 1618 <b>is</b> 1619 <b>function</b> <span class="symbol"><a name="ref_1602_16">Winch</a></span> (<span class="symbol"><a name="ref_1602_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 1620 <b>pragma</b> Import (C, Winch, "winch"); 1621 <b>begin</b> 1622 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1602_16">Winch</a> (<a href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a>); 1623 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a>; 1624 1625 <b>function</b> <span class="symbol"><a name="ref_1608_13" href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a></span> 1626 (<span class="symbol"><a name="ref_1609_7" href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1627 <span class="symbol"><a name="ref_1610_7" href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1628 <span class="symbol"><a name="ref_1611_7" href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> 1629 <b>is</b> 1630 <b>function</b> <span class="symbol"><a name="ref_1613_16">Mvwinch</a></span> (<span class="symbol"><a name="ref_1613_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1631 <span class="symbol"><a name="ref_1614_25">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1632 <span class="symbol"><a name="ref_1615_25">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 1633 <b>pragma</b> Import (C, Mvwinch, "mvwinch"); 1634 <b>begin</b> 1635 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</a> (<a href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a>)); 1636 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a>; 1637<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1638 <b>procedure</b> <span class="symbol"><a name="ref_1621_14" href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a></span> (<span class="symbol"><a name="ref_1621_22" href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1639 <span class="symbol"><a name="ref_1622_22" href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1640 <b>is</b> 1641 <b>function</b> <span class="symbol"><a name="ref_1624_16">Winsch</a></span> (<span class="symbol"><a name="ref_1624_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1624_38">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1642 <b>pragma</b> Import (C, Winsch, "winsch"); 1643 <b>begin</b> 1644 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1645 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1646 <b>end</b> <b>if</b>; 1647 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a>; 1648 1649 <b>procedure</b> <span class="symbol"><a name="ref_1632_14" href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a></span> 1650 (<span class="symbol"><a name="ref_1633_7" href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1651 <span class="symbol"><a name="ref_1634_7" href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1652 <span class="symbol"><a name="ref_1635_7" href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1653 <span class="symbol"><a name="ref_1636_7" href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) 1654 <b>is</b> 1655 <b>function</b> <span class="symbol"><a name="ref_1638_16">Mvwinsch</a></span> (<span class="symbol"><a name="ref_1638_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1656 <span class="symbol"><a name="ref_1639_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1657 <span class="symbol"><a name="ref_1640_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1658 <span class="symbol"><a name="ref_1641_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1659 <b>pragma</b> Import (C, Mvwinsch, "mvwinsch"); 1660 <b>begin</b> 1661 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a>, 1662 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a>), 1663 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a>), 1664 <a href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1665 <b>then</b> 1666 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1667 <b>end</b> <b>if</b>; 1668 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a>; 1669<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1670 <b>procedure</b> <span class="symbol"><a name="ref_1653_14" href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a></span> (<span class="symbol"><a name="ref_1653_22" href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1671 <span class="symbol"><a name="ref_1654_22" href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a></span> : String; 1672 <span class="symbol"><a name="ref_1655_22" href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a></span> : Integer := -1) 1673 <b>is</b> 1674 <b>function</b> <span class="symbol"><a name="ref_1657_16">Winsnstr</a></span> (<span class="symbol"><a name="ref_1657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1675 <span class="symbol"><a name="ref_1658_26">Str</a></span> : char_array; 1676 <span class="symbol"><a name="ref_1659_26">Len</a></span> : Integer := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1677 <b>pragma</b> Import (C, Winsnstr, "winsnstr"); 1678 1679 <span class="symbol"><a name="ref_1662_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>'Length); 1680 <span class="symbol"><a name="ref_1663_7">Length</a></span> : size_t; 1681 <b>begin</b> 1682 To_C (<a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1663_7">Length</a>); 1683 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1684 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1685 <b>end</b> <b>if</b>; 1686 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a>; 1687 1688 <b>procedure</b> <span class="symbol"><a name="ref_1671_14" href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a></span> 1689 (<span class="symbol"><a name="ref_1672_7" href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1690 <span class="symbol"><a name="ref_1673_7" href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1691 <span class="symbol"><a name="ref_1674_7" href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1692 <span class="symbol"><a name="ref_1675_7" href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a></span> : String; 1693 <span class="symbol"><a name="ref_1676_7" href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a></span> : Integer := -1) 1694 <b>is</b> 1695 <b>function</b> <span class="symbol"><a name="ref_1678_16">Mvwinsnstr</a></span> (<span class="symbol"><a name="ref_1678_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1696 <span class="symbol"><a name="ref_1679_28">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1697 <span class="symbol"><a name="ref_1680_28">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1698 <span class="symbol"><a name="ref_1681_28">Str</a></span> : char_array; 1699 <span class="symbol"><a name="ref_1682_28">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1700 <b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr"); 1701 1702 <span class="symbol"><a name="ref_1685_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>'Length); 1703 <span class="symbol"><a name="ref_1686_7">Length</a></span> : size_t; 1704 <b>begin</b> 1705 To_C (<a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1686_7">Length</a>); 1706 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a>), <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a>)) 1707 = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1708 <b>then</b> 1709 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1710 <b>end</b> <b>if</b>; 1711 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a>; 1712<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1713 <b>procedure</b> <span class="symbol"><a name="ref_1696_14" href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a></span> (<span class="symbol"><a name="ref_1696_20" href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1714 <span class="symbol"><a name="ref_1697_20" href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a></span> : <b>out</b> String; 1715 <span class="symbol"><a name="ref_1698_20" href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a></span> : Integer := -1) 1716 <b>is</b> 1717 <b>function</b> <span class="symbol"><a name="ref_1700_16">Winnstr</a></span> (<span class="symbol"><a name="ref_1700_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1718 <span class="symbol"><a name="ref_1701_25">Str</a></span> : char_array; 1719 <span class="symbol"><a name="ref_1702_25">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1720 <b>pragma</b> Import (C, Winnstr, "winnstr"); 1721 1722 <span class="symbol"><a name="ref_1705_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a>; 1723 <span class="symbol"><a name="ref_1706_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length); 1724 <span class="symbol"><a name="ref_1707_7">Cnt</a></span> : Natural; 1725 <b>begin</b> 1726 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> < 0 <b>then</b> 1727 <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length; 1728 <b>end</b> <b>if</b>; 1729 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b> 1730 <b>raise</b> Constraint_Error; 1731 <b>end</b> <b>if</b>; 1732 <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First; 1733 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1734 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1735 <b>end</b> <b>if</b>; 1736 To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>, True); 1737 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b> 1738 <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Last) := (<b>others</b> => ' '); 1739 <b>end</b> <b>if</b>; 1740 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a>; 1741 1742 <b>procedure</b> <span class="symbol"><a name="ref_1725_14" href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a></span> 1743 (<span class="symbol"><a name="ref_1726_7" href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1744 <span class="symbol"><a name="ref_1727_7" href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1745 <span class="symbol"><a name="ref_1728_7" href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1746 <span class="symbol"><a name="ref_1729_7" href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a></span> : <b>out</b> String; 1747 <span class="symbol"><a name="ref_1730_7" href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a></span> : Integer := -1) 1748 <b>is</b> 1749 <b>begin</b> 1750 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a>); 1751 <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a>); 1752 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a>; 1753<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1754 <b>procedure</b> <span class="symbol"><a name="ref_1737_14" href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a></span> 1755 (<span class="symbol"><a name="ref_1738_7" href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1756 <span class="symbol"><a name="ref_1739_7" href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; 1757 <span class="symbol"><a name="ref_1740_7" href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a></span> : Integer := -1) 1758 <b>is</b> 1759 <b>function</b> <span class="symbol"><a name="ref_1742_16">Winchnstr</a></span> (<span class="symbol"><a name="ref_1742_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1760 <span class="symbol"><a name="ref_1743_27">Str</a></span> : chtype_array; <span class="comment"><em>-- out</em></span> 1761 <span class="symbol"><a name="ref_1744_27">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1762 <b>pragma</b> Import (C, Winchnstr, "winchnstr"); 1763 1764 <span class="symbol"><a name="ref_1747_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a>; 1765 <span class="symbol"><a name="ref_1748_7">Txt</a></span> : <b>constant</b> chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length) 1766 := (0 => <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>); 1767 <span class="symbol"><a name="ref_1750_7">Cnt</a></span> : Natural := 0; 1768 <b>begin</b> 1769 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> < 0 <b>then</b> 1770 <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length; 1771 <b>end</b> <b>if</b>; 1772 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b> 1773 <b>raise</b> Constraint_Error; 1774 <b>end</b> <b>if</b>; 1775 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1776 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1777 <b>end</b> <b>if</b>; 1778 <b>for</b> <span class="symbol"><a name="ref_1761_11">To</a></span> <b>in</b> <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'<b>Range</b> <b>loop</b> 1779 <b>exit</b> <b>when</b> <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>)) = <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; 1780 <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> (<a href="terminal_interface-curses__adb.htm#ref_1761_11">To</a>) := <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>)); 1781 <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> := <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> + 1; 1782 <b>end</b> <b>loop</b>; 1783 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b> 1784 <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Last) := 1785 (<b>others</b> => (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => ' ', 1786 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, 1787 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); 1788 <b>end</b> <b>if</b>; 1789 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a>; 1790 1791 <b>procedure</b> <span class="symbol"><a name="ref_1774_14" href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a></span> 1792 (<span class="symbol"><a name="ref_1775_7" href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1793 <span class="symbol"><a name="ref_1776_7" href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1794 <span class="symbol"><a name="ref_1777_7" href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1795 <span class="symbol"><a name="ref_1778_7" href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; 1796 <span class="symbol"><a name="ref_1779_7" href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a></span> : Integer := -1) 1797 <b>is</b> 1798 <b>begin</b> 1799 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a>); 1800 <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a>); 1801 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a>; 1802<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1803 <b>procedure</b> <span class="symbol"><a name="ref_1786_14" href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a></span> (<span class="symbol"><a name="ref_1786_19" href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1804 <span class="symbol"><a name="ref_1787_19" href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a></span> : <b>out</b> String; 1805 <span class="symbol"><a name="ref_1788_19" href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a></span> : Integer := -1) 1806 <b>is</b> 1807 <b>function</b> <span class="symbol"><a name="ref_1790_16">Wgetnstr</a></span> (<span class="symbol"><a name="ref_1790_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 1808 <span class="symbol"><a name="ref_1791_26">Str</a></span> : char_array; 1809 <span class="symbol"><a name="ref_1792_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1810 <b>pragma</b> Import (C, Wgetnstr, "wgetnstr"); 1811 1812 <span class="symbol"><a name="ref_1795_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a>; 1813 <span class="symbol"><a name="ref_1796_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length); 1814 <span class="symbol"><a name="ref_1797_7">Cnt</a></span> : Natural; 1815 <b>begin</b> 1816 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> < 0 <b>then</b> 1817 <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length; 1818 <b>end</b> <b>if</b>; 1819 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b> 1820 <b>raise</b> Constraint_Error; 1821 <b>end</b> <b>if</b>; 1822 <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First; 1823 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1824 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1825 <b>end</b> <b>if</b>; 1826 To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>, True); 1827 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b> 1828 <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Last) := (<b>others</b> => ' '); 1829 <b>end</b> <b>if</b>; 1830 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a>; 1831 1832 <b>procedure</b> <span class="symbol"><a name="ref_1815_14" href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a></span> 1833 (<span class="symbol"><a name="ref_1816_7" href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 1834 <span class="symbol"><a name="ref_1817_7" href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 1835 <span class="symbol"><a name="ref_1818_7" href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 1836 <span class="symbol"><a name="ref_1819_7" href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a></span> : <b>out</b> String; 1837 <span class="symbol"><a name="ref_1820_7" href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a></span> : Integer := -1) 1838 <b>is</b> 1839 <b>begin</b> 1840 <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a>); 1841 <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a>); 1842 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a>; 1843<span class="comment"><em>------------------------------------------------------------------------------</em></span> 1844 <b>procedure</b> <span class="symbol"><a name="ref_1827_14" href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a></span> 1845 (<span class="symbol"><a name="ref_1828_7" href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a> := <a href="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</a>) 1846 <b>is</b> 1847 <b>function</b> <span class="symbol"><a name="ref_1830_16">Slk_Init</a></span> (<span class="symbol"><a name="ref_1830_26">Fmt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1848 <b>pragma</b> Import (C, Slk_Init, "slk_init"); 1849 <b>begin</b> 1850 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</a> (<a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1851 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1852 <b>end</b> <b>if</b>; 1853 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a>; 1854 1855 <b>procedure</b> <span class="symbol"><a name="ref_1838_14" href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1838_34" href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; 1856 <span class="symbol"><a name="ref_1839_34" href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a></span> : String; 1857 <span class="symbol"><a name="ref_1840_34" href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a> := <a href="terminal_interface-curses__ads.htm#ref_1667_33">Left</a>) 1858 <b>is</b> 1859 <b>function</b> <span class="symbol"><a name="ref_1842_16">Slk_Set</a></span> (<span class="symbol"><a name="ref_1842_25">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1860 <span class="symbol"><a name="ref_1843_25">Txt</a></span> : char_array; 1861 <span class="symbol"><a name="ref_1844_25">Fmt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1862 <b>pragma</b> Import (C, Slk_Set, "slk_set"); 1863 1864 <span class="symbol"><a name="ref_1847_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>'Length); 1865 <span class="symbol"><a name="ref_1848_7">Len</a></span> : size_t; 1866 <b>begin</b> 1867 To_C (<a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>, <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1848_7">Len</a>); 1868 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a>), <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>, 1869 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 1870 <b>then</b> 1871 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1872 <b>end</b> <b>if</b>; 1873 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a>; 1874 1875 <b>procedure</b> <span class="symbol"><a name="ref_1858_14" href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a></span> 1876 <b>is</b> 1877 <b>function</b> <span class="symbol"><a name="ref_1860_16">Slk_Refresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1878 <b>pragma</b> Import (C, Slk_Refresh, "slk_refresh"); 1879 <b>begin</b> 1880 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1881 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1882 <b>end</b> <b>if</b>; 1883 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a>; 1884 1885 <b>procedure</b> <span class="symbol"><a name="ref_1868_14" href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a></span> 1886 <b>is</b> 1887 <b>function</b> <span class="symbol"><a name="ref_1870_16">Slk_Noutrefresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1888 <b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh"); 1889 <b>begin</b> 1890 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1891 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1892 <b>end</b> <b>if</b>; 1893 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a>; 1894 1895 <b>procedure</b> <span class="symbol"><a name="ref_1878_14" href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1878_34" href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; 1896 <span class="symbol"><a name="ref_1879_34" href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a></span> : <b>out</b> String) 1897 <b>is</b> 1898 <b>function</b> <span class="symbol"><a name="ref_1881_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1881_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; 1899 <b>pragma</b> Import (C, Slk_Label, "slk_label"); 1900 <b>begin</b> 1901 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a>)), <a href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a>); 1902 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a>; 1903 1904 <b>function</b> <span class="symbol"><a name="ref_1887_13" href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1887_33" href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>) <b>return</b> String 1905 <b>is</b> 1906 <b>function</b> <span class="symbol"><a name="ref_1889_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1889_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; 1907 <b>pragma</b> Import (C, Slk_Label, "slk_label"); 1908 <b>begin</b> 1909 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a>))); 1910 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a>; 1911 1912 <b>procedure</b> <span class="symbol"><a name="ref_1895_14" href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a></span> 1913 <b>is</b> 1914 <b>function</b> <span class="symbol"><a name="ref_1897_16">Slk_Clear</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1915 <b>pragma</b> Import (C, Slk_Clear, "slk_clear"); 1916 <b>begin</b> 1917 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1918 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1919 <b>end</b> <b>if</b>; 1920 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a>; 1921 1922 <b>procedure</b> <span class="symbol"><a name="ref_1905_14" href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a></span> 1923 <b>is</b> 1924 <b>function</b> <span class="symbol"><a name="ref_1907_16">Slk_Restore</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1925 <b>pragma</b> Import (C, Slk_Restore, "slk_restore"); 1926 <b>begin</b> 1927 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1928 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1929 <b>end</b> <b>if</b>; 1930 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a>; 1931 1932 <b>procedure</b> <span class="symbol"><a name="ref_1915_14" href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a></span> 1933 <b>is</b> 1934 <b>function</b> <span class="symbol"><a name="ref_1917_16">Slk_Touch</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1935 <b>pragma</b> Import (C, Slk_Touch, "slk_touch"); 1936 <b>begin</b> 1937 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1938 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1939 <b>end</b> <b>if</b>; 1940 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a>; 1941 1942 <b>procedure</b> <span class="symbol"><a name="ref_1925_14" href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a></span> 1943 (<span class="symbol"><a name="ref_1926_7" href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; 1944 <span class="symbol"><a name="ref_1927_7" href="terminal_interface-curses__ads.htm#ref_1721_7">On</a></span> : Boolean := True) 1945 <b>is</b> 1946 <b>function</b> <span class="symbol"><a name="ref_1929_16">Slk_Attron</a></span> (<span class="symbol"><a name="ref_1929_28">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1947 <b>pragma</b> Import (C, Slk_Attron, "slk_attron"); 1948 <b>function</b> <span class="symbol"><a name="ref_1931_16">Slk_Attroff</a></span> (<span class="symbol"><a name="ref_1931_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1949 <b>pragma</b> Import (C, Slk_Attroff, "slk_attroff"); 1950 1951 <span class="symbol"><a name="ref_1934_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1952 <span class="symbol"><a name="ref_1935_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, 1953 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a>, 1954 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); 1955 <b>begin</b> 1956 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1721_7">On</a> <b>then</b> 1957 <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</a> (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>); 1958 <b>else</b> 1959 <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</a> (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>); 1960 <b>end</b> <b>if</b>; 1961 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1962 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1963 <b>end</b> <b>if</b>; 1964 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a>; 1965 1966 <b>procedure</b> <span class="symbol"><a name="ref_1949_14" href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a></span> 1967 (<span class="symbol"><a name="ref_1950_7" href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; 1968 <span class="symbol"><a name="ref_1951_7" href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) 1969 <b>is</b> 1970 <b>function</b> <span class="symbol"><a name="ref_1953_16">Slk_Attrset</a></span> (<span class="symbol"><a name="ref_1953_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 1971 <b>pragma</b> Import (C, Slk_Attrset, "slk_attrset"); 1972 1973 <span class="symbol"><a name="ref_1956_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, 1974 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a>, 1975 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a>); 1976 <b>begin</b> 1977 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</a> (<a href="terminal_interface-curses__adb.htm#ref_1956_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 1978 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 1979 <b>end</b> <b>if</b>; 1980 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a>; 1981 1982 <b>function</b> <span class="symbol"><a name="ref_1965_13" href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> 1983 <b>is</b> 1984 <b>function</b> <span class="symbol"><a name="ref_1967_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 1985 <b>pragma</b> Import (C, Slk_Attr, "slk_attr"); 1986 1987 <span class="symbol"><a name="ref_1970_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</a>; 1988 <b>begin</b> 1989 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1970_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; 1990 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a>; 1991 1992 <b>function</b> <span class="symbol"><a name="ref_1975_13" href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> 1993 <b>is</b> 1994 <b>function</b> <span class="symbol"><a name="ref_1977_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 1995 <b>pragma</b> Import (C, Slk_Attr, "slk_attr"); 1996 1997 <span class="symbol"><a name="ref_1980_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</a>; 1998 <b>begin</b> 1999 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1980_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; 2000 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a>; 2001 2002 <b>procedure</b> <span class="symbol"><a name="ref_1985_14" href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a></span> (<span class="symbol"><a name="ref_1985_40" href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) 2003 <b>is</b> 2004 <b>function</b> <span class="symbol"><a name="ref_1987_16">Slk_Color</a></span> (<span class="symbol"><a name="ref_1987_27">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2005 <b>pragma</b> Import (C, Slk_Color, "slk_color"); 2006 <b>begin</b> 2007 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2008 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2009 <b>end</b> <b>if</b>; 2010 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a>; 2011 2012<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2013 <b>procedure</b> <span class="symbol"><a name="ref_1996_14" href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a></span> (<span class="symbol"><a name="ref_1996_26" href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>; 2014 <span class="symbol"><a name="ref_1997_26" href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a></span> : Boolean := True) 2015 <b>is</b> 2016 <b>function</b> <span class="symbol"><a name="ref_1999_16">Keyok</a></span> (<span class="symbol"><a name="ref_1999_23">Keycode</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2017 <span class="symbol"><a name="ref_2000_23">On_Off</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2018 <b>pragma</b> Import (C, Keyok, "keyok"); 2019 <b>begin</b> 2020 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a>))) 2021 = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 2022 <b>then</b> 2023 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2024 <b>end</b> <b>if</b>; 2025 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a>; 2026<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2027 <b>procedure</b> <span class="symbol"><a name="ref_2010_14" href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a></span> (<span class="symbol"><a name="ref_2010_26" href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a></span> : String; 2028 <span class="symbol"><a name="ref_2011_26" href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) 2029 <b>is</b> 2030 <b>function</b> <span class="symbol"><a name="ref_2013_16">Defkey</a></span> (<span class="symbol"><a name="ref_2013_24">Def</a></span> : char_array; 2031 <span class="symbol"><a name="ref_2014_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2032 <b>pragma</b> Import (C, Defkey, "define_key"); 2033 2034 <span class="symbol"><a name="ref_2017_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>'Length); 2035 <span class="symbol"><a name="ref_2018_7">Length</a></span> : size_t; 2036 <b>begin</b> 2037 To_C (<a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>, <a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2018_7">Length</a>); 2038 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</a> (<a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2039 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2040 <b>end</b> <b>if</b>; 2041 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a>; 2042<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2043 <b>procedure</b> <span class="symbol"><a name="ref_2026_14" href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a></span> (<span class="symbol"><a name="ref_2026_26" href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 2044 <span class="symbol"><a name="ref_2027_26" href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a></span> : <b>out</b> String) 2045 <b>is</b> 2046 <b>function</b> <span class="symbol"><a name="ref_2029_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2029_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr; 2047 <b>pragma</b> Import (C, Unctrl, "unctrl"); 2048 <b>begin</b> 2049 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a>), <a href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a>); 2050 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a>; 2051 2052 <b>function</b> <span class="symbol"><a name="ref_2035_13" href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a></span> (<span class="symbol"><a name="ref_2035_25" href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> String 2053 <b>is</b> 2054 <b>function</b> <span class="symbol"><a name="ref_2037_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2037_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr; 2055 <b>pragma</b> Import (C, Unctrl, "unctrl"); 2056 <b>begin</b> 2057 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a>)); 2058 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a>; 2059 2060 <b>procedure</b> <span class="symbol"><a name="ref_2043_14" href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a></span> (<span class="symbol"><a name="ref_2043_28" href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a></span> : Natural) 2061 <b>is</b> 2062 <b>function</b> <span class="symbol"><a name="ref_2045_16">Delayoutput</a></span> (<span class="symbol"><a name="ref_2045_29">Msecs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2063 <b>pragma</b> Import (C, Delayoutput, "delay_output"); 2064 <b>begin</b> 2065 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2066 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2067 <b>end</b> <b>if</b>; 2068 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a>; 2069 2070 <b>procedure</b> <span class="symbol"><a name="ref_2053_14" href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a></span> 2071 <b>is</b> 2072 <b>function</b> <span class="symbol"><a name="ref_2055_16">Flushinp</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2073 <b>pragma</b> Import (C, Flushinp, "flushinp"); 2074 <b>begin</b> 2075 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> <span class="comment"><em>-- docu says that never happens, but...</em></span> 2076 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2077 <b>end</b> <b>if</b>; 2078 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a>; 2079<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2080 <b>function</b> <span class="symbol"><a name="ref_2063_13" href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a></span> <b>return</b> Natural 2081 <b>is</b> 2082 <b>function</b> <span class="symbol"><a name="ref_2065_16">Baud</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2083 <b>pragma</b> Import (C, Baud, "baudrate"); 2084 <b>begin</b> 2085 <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2065_16">Baud</a>); 2086 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a>; 2087 2088 <b>function</b> <span class="symbol"><a name="ref_2071_13" href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a></span> <b>return</b> Character 2089 <b>is</b> 2090 <b>function</b> <span class="symbol"><a name="ref_2073_16">Erasechar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2091 <b>pragma</b> Import (C, Erasechar, "erasechar"); 2092 <b>begin</b> 2093 <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</a>); 2094 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a>; 2095 2096 <b>function</b> <span class="symbol"><a name="ref_2079_13" href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a></span> <b>return</b> Character 2097 <b>is</b> 2098 <b>function</b> <span class="symbol"><a name="ref_2081_16">Killchar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2099 <b>pragma</b> Import (C, Killchar, "killchar"); 2100 <b>begin</b> 2101 <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</a>); 2102 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a>; 2103 2104 <b>function</b> <span class="symbol"><a name="ref_2087_13" href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a></span> <b>return</b> Boolean 2105 <b>is</b> 2106 <b>function</b> <span class="symbol"><a name="ref_2089_16">Has_Ic</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 2107 <b>pragma</b> Import (C, Has_Ic, "has_ic"); 2108 <b>begin</b> 2109 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 2110 <b>return</b> False; 2111 <b>else</b> 2112 <b>return</b> True; 2113 <b>end</b> <b>if</b>; 2114 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a>; 2115 2116 <b>function</b> <span class="symbol"><a name="ref_2099_13" href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a></span> <b>return</b> Boolean 2117 <b>is</b> 2118 <b>function</b> <span class="symbol"><a name="ref_2101_16">Has_Il</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 2119 <b>pragma</b> Import (C, Has_Il, "has_il"); 2120 <b>begin</b> 2121 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 2122 <b>return</b> False; 2123 <b>else</b> 2124 <b>return</b> True; 2125 <b>end</b> <b>if</b>; 2126 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a>; 2127 2128 <b>function</b> <span class="symbol"><a name="ref_2111_13" href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> 2129 <b>is</b> 2130 <b>function</b> <span class="symbol"><a name="ref_2113_16">Termattrs</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; 2131 <b>pragma</b> Import (C, Termattrs, "termattrs"); 2132 2133 <span class="symbol"><a name="ref_2116_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</a>; 2134 <b>begin</b> 2135 <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_2116_7">Ch</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; 2136 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a>; 2137 2138 <b>procedure</b> <span class="symbol"><a name="ref_2121_14" href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a></span> (<span class="symbol"><a name="ref_2121_25" href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a></span> : <b>out</b> String) 2139 <b>is</b> 2140 <b>function</b> <span class="symbol"><a name="ref_2123_16">Longname</a></span> <b>return</b> chars_ptr; 2141 <b>pragma</b> Import (C, Longname, "longname"); 2142 <b>begin</b> 2143 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2123_16">Longname</a>, <a href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a>); 2144 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a>; 2145 2146 <b>function</b> <span class="symbol"><a name="ref_2129_13" href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a></span> <b>return</b> String 2147 <b>is</b> 2148 <b>function</b> <span class="symbol"><a name="ref_2131_16">Longname</a></span> <b>return</b> chars_ptr; 2149 <b>pragma</b> Import (C, Longname, "longname"); 2150 <b>begin</b> 2151 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2131_16">Longname</a>); 2152 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a>; 2153 2154 <b>procedure</b> <span class="symbol"><a name="ref_2137_14" href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a></span> (<span class="symbol"><a name="ref_2137_29" href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a></span> : <b>out</b> String) 2155 <b>is</b> 2156 <b>function</b> <span class="symbol"><a name="ref_2139_16">Termname</a></span> <b>return</b> chars_ptr; 2157 <b>pragma</b> Import (C, Termname, "termname"); 2158 <b>begin</b> 2159 <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2139_16">Termname</a>, <a href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a>); 2160 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a>; 2161 2162 <b>function</b> <span class="symbol"><a name="ref_2145_13" href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a></span> <b>return</b> String 2163 <b>is</b> 2164 <b>function</b> <span class="symbol"><a name="ref_2147_16">Termname</a></span> <b>return</b> chars_ptr; 2165 <b>pragma</b> Import (C, Termname, "termname"); 2166 <b>begin</b> 2167 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2147_16">Termname</a>); 2168 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a>; 2169<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2170 <b>procedure</b> <span class="symbol"><a name="ref_2153_14" href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a></span> (<span class="symbol"><a name="ref_2153_25" href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</a>; 2171 <span class="symbol"><a name="ref_2154_25" href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; 2172 <span class="symbol"><a name="ref_2155_25" href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>) 2173 <b>is</b> 2174 <b>function</b> <span class="symbol"><a name="ref_2157_16">Initpair</a></span> (<span class="symbol"><a name="ref_2157_26">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2175 <span class="symbol"><a name="ref_2158_26">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2176 <span class="symbol"><a name="ref_2159_26">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2177 <b>pragma</b> Import (C, Initpair, "init_pair"); 2178 <b>begin</b> 2179 <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>) >= <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a> <b>then</b> 2180 <b>raise</b> Constraint_Error; 2181 <b>end</b> <b>if</b>; 2182 <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>) >= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a> <b>or</b> <b>else</b> 2183 Integer (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>) >= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a> 2184 <b>then</b> 2185 <b>raise</b> Constraint_Error; 2186 <b>end</b> <b>if</b>; 2187 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>)) 2188 = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 2189 <b>then</b> 2190 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2191 <b>end</b> <b>if</b>; 2192 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a>; 2193 2194 <b>procedure</b> <span class="symbol"><a name="ref_2177_14" href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a></span> (<span class="symbol"><a name="ref_2177_28" href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; 2195 <span class="symbol"><a name="ref_2178_28" href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; 2196 <span class="symbol"><a name="ref_2179_28" href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>) 2197 <b>is</b> 2198 <b>type</b> <span class="symbol"><a name="ref_2181_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2199 <b>function</b> <span class="symbol"><a name="ref_2182_16">Paircontent</a></span> (<span class="symbol"><a name="ref_2182_29">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2200 <span class="symbol"><a name="ref_2183_29">Fp</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>; 2201 <span class="symbol"><a name="ref_2184_29">Bp</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2202 <b>pragma</b> Import (C, Paircontent, "pair_content"); 2203 2204 <span class="symbol"><a name="ref_2187_7">F</a></span>, <span class="symbol"><a name="ref_2187_10">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2205 <b>begin</b> 2206 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a>), <a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>'<b>Access</b>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2207 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2208 <b>else</b> 2209 <a href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>); 2210 <a href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>); 2211 <b>end</b> <b>if</b>; 2212 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a>; 2213 2214 <b>function</b> <span class="symbol"><a name="ref_2197_13" href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a></span> <b>return</b> Boolean 2215 <b>is</b> 2216 <b>function</b> <span class="symbol"><a name="ref_2199_16">Hascolors</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 2217 <b>pragma</b> Import (C, Hascolors, "has_colors"); 2218 <b>begin</b> 2219 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 2220 <b>return</b> False; 2221 <b>else</b> 2222 <b>return</b> True; 2223 <b>end</b> <b>if</b>; 2224 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a>; 2225 2226 <b>procedure</b> <span class="symbol"><a name="ref_2209_14" href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a></span> (<span class="symbol"><a name="ref_2209_26" href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; 2227 <span class="symbol"><a name="ref_2210_26" href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; 2228 <span class="symbol"><a name="ref_2211_26" href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; 2229 <span class="symbol"><a name="ref_2212_26" href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>) 2230 <b>is</b> 2231 <b>function</b> <span class="symbol"><a name="ref_2214_16">Initcolor</a></span> (<span class="symbol"><a name="ref_2214_27">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2232 <span class="symbol"><a name="ref_2215_27">Red</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2233 <span class="symbol"><a name="ref_2216_27">Green</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2234 <span class="symbol"><a name="ref_2217_27">Blue</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2235 <b>pragma</b> Import (C, Initcolor, "init_color"); 2236 <b>begin</b> 2237 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a>), 2238 <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 2239 <b>then</b> 2240 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2241 <b>end</b> <b>if</b>; 2242 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a>; 2243 2244 <b>function</b> <span class="symbol"><a name="ref_2227_13" href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a></span> <b>return</b> Boolean 2245 <b>is</b> 2246 <b>function</b> <span class="symbol"><a name="ref_2229_16">Canchangecolor</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; 2247 <b>pragma</b> Import (C, Canchangecolor, "can_change_color"); 2248 <b>begin</b> 2249 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> 2250 <b>return</b> False; 2251 <b>else</b> 2252 <b>return</b> True; 2253 <b>end</b> <b>if</b>; 2254 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a>; 2255 2256 <b>procedure</b> <span class="symbol"><a name="ref_2239_14" href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a></span> (<span class="symbol"><a name="ref_2239_29" href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; 2257 <span class="symbol"><a name="ref_2240_29" href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; 2258 <span class="symbol"><a name="ref_2241_29" href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; 2259 <span class="symbol"><a name="ref_2242_29" href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>) 2260 <b>is</b> 2261 <b>type</b> <span class="symbol"><a name="ref_2244_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2262 2263 <b>function</b> <span class="symbol"><a name="ref_2246_16">Colorcontent</a></span> (<span class="symbol"><a name="ref_2246_30">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; <span class="symbol"><a name="ref_2246_47">R</a></span>, <span class="symbol"><a name="ref_2246_50">G</a></span>, <span class="symbol"><a name="ref_2246_53">B</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</a>) 2264 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2265 <b>pragma</b> Import (C, Colorcontent, "color_content"); 2266 2267 <span class="symbol"><a name="ref_2250_7">R</a></span>, <span class="symbol"><a name="ref_2250_10">G</a></span>, <span class="symbol"><a name="ref_2250_13">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; 2268 <b>begin</b> 2269 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a>), <a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>'<b>Access</b>) = 2270 <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 2271 <b>then</b> 2272 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2273 <b>else</b> 2274 <a href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>); 2275 <a href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>); 2276 <a href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>); 2277 <b>end</b> <b>if</b>; 2278 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a>; 2279 2280<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2281 <b>procedure</b> <span class="symbol"><a name="ref_2264_14" href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2264_32" href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>) 2282 <b>is</b> 2283 <b>function</b> <span class="symbol"><a name="ref_2266_16">Def_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2284 <b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode"); 2285 <b>function</b> <span class="symbol"><a name="ref_2268_16">Def_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2286 <b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode"); 2287 2288 <span class="symbol"><a name="ref_2271_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2289 <b>begin</b> 2290 <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a> <b>is</b> 2291 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> => <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</a>; 2292 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a> => <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</a>; 2293 <b>end</b> <b>case</b>; 2294 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2295 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2296 <b>end</b> <b>if</b>; 2297 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a>; 2298 2299 <b>procedure</b> <span class="symbol"><a name="ref_2282_14" href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2282_33" href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>) 2300 <b>is</b> 2301 <b>function</b> <span class="symbol"><a name="ref_2284_16">Reset_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2302 <b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode"); 2303 <b>function</b> <span class="symbol"><a name="ref_2286_16">Reset_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2304 <b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode"); 2305 2306 <span class="symbol"><a name="ref_2289_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2307 <b>begin</b> 2308 <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a> <b>is</b> 2309 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> => <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</a>; 2310 <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a> => <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</a>; 2311 <b>end</b> <b>case</b>; 2312 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2313 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2314 <b>end</b> <b>if</b>; 2315 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a>; 2316 2317 <b>procedure</b> <span class="symbol"><a name="ref_2300_14" href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a></span> 2318 <b>is</b> 2319 <b>function</b> <span class="symbol"><a name="ref_2302_16">Savetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2320 <b>pragma</b> Import (C, Savetty, "savetty"); 2321 <b>begin</b> 2322 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2323 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2324 <b>end</b> <b>if</b>; 2325 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a>; 2326 2327 <b>procedure</b> <span class="symbol"><a name="ref_2310_14" href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a></span> 2328 <b>is</b> 2329 <b>function</b> <span class="symbol"><a name="ref_2312_16">Resetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2330 <b>pragma</b> Import (C, Resetty, "resetty"); 2331 <b>begin</b> 2332 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2333 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2334 <b>end</b> <b>if</b>; 2335 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a>; 2336 2337 <b>procedure</b> <span class="symbol"><a name="ref_2320_14" href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a></span> (<span class="symbol"><a name="ref_2320_29" href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a></span> : Integer; 2338 <span class="symbol"><a name="ref_2321_29" href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>) 2339 <b>is</b> 2340 <b>function</b> <span class="symbol"><a name="ref_2323_16">Ripoffline</a></span> (<span class="symbol"><a name="ref_2323_28">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2341 <span class="symbol"><a name="ref_2324_28">Proc</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2342 <b>pragma</b> Import (C, Ripoffline, "_nc_ripoffline"); 2343 <b>begin</b> 2344 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a>), <a href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2345 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2346 <b>end</b> <b>if</b>; 2347 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a>; 2348 2349 <b>procedure</b> <span class="symbol"><a name="ref_2332_14" href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a></span> (<span class="symbol"><a name="ref_2332_37" href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>) 2350 <b>is</b> 2351 <b>function</b> <span class="symbol"><a name="ref_2334_16">Curs_Set</a></span> (<span class="symbol"><a name="ref_2334_26">Curs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2352 <b>pragma</b> Import (C, Curs_Set, "curs_set"); 2353 2354 <span class="symbol"><a name="ref_2337_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2355 <b>begin</b> 2356 <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> := <a href="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</a> (<a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a>)); 2357 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> /= <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2358 <a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a> := <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Val (<a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a>); 2359 <b>end</b> <b>if</b>; 2360 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a>; 2361 2362 <b>procedure</b> <span class="symbol"><a name="ref_2345_14" href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a></span> (<span class="symbol"><a name="ref_2345_33" href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a></span> : Natural) 2363 <b>is</b> 2364 <b>function</b> <span class="symbol"><a name="ref_2347_16">Napms</a></span> (<span class="symbol"><a name="ref_2347_23">Ms</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2365 <b>pragma</b> Import (C, Napms, "napms"); 2366 <b>begin</b> 2367 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2347_16">Napms</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2368 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2369 <b>end</b> <b>if</b>; 2370 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a>; 2371<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2372 <b>function</b> <span class="symbol"><a name="ref_2355_13" href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> 2373 <b>is</b> 2374 <b>function</b> <span class="symbol"><a name="ref_2357_16">LINES_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; 2375 <b>pragma</b> Import (C, LINES_As_Function, "LINES_as_function"); 2376 <b>begin</b> 2377 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</a>); 2378 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a>; 2379 2380 <b>function</b> <span class="symbol"><a name="ref_2363_13" href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> 2381 <b>is</b> 2382 <b>function</b> <span class="symbol"><a name="ref_2365_16">COLS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; 2383 <b>pragma</b> Import (C, COLS_As_Function, "COLS_as_function"); 2384 <b>begin</b> 2385 <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</a>); 2386 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a>; 2387 2388 <b>function</b> <span class="symbol"><a name="ref_2371_13" href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a></span> <b>return</b> Natural 2389 <b>is</b> 2390 <b>function</b> <span class="symbol"><a name="ref_2373_16">TABSIZE_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; 2391 <b>pragma</b> Import (C, TABSIZE_As_Function, "TABSIZE_as_function"); 2392 2393 <b>begin</b> 2394 <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</a>); 2395 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a>; 2396 2397 <b>function</b> <span class="symbol"><a name="ref_2380_13" href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a></span> <b>return</b> Natural 2398 <b>is</b> 2399 <b>function</b> <span class="symbol"><a name="ref_2382_16">COLORS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; 2400 <b>pragma</b> Import (C, COLORS_As_Function, "COLORS_as_function"); 2401 <b>begin</b> 2402 <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</a>); 2403 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>; 2404 2405 <b>function</b> <span class="symbol"><a name="ref_2388_13" href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a></span> <b>return</b> Natural 2406 <b>is</b> 2407 <b>function</b> <span class="symbol"><a name="ref_2390_16">COLOR_PAIRS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; 2408 <b>pragma</b> Import (C, COLOR_PAIRS_As_Function, "COLOR_PAIRS_as_function"); 2409 <b>begin</b> 2410 <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</a>); 2411 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a>; 2412<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2413 <b>procedure</b> <span class="symbol"><a name="ref_2396_14" href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a></span> 2414 (<span class="symbol"><a name="ref_2397_7" href="terminal_interface-curses__ads.htm#ref_1986_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 2415 <span class="symbol"><a name="ref_2398_7" href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; 2416 <span class="symbol"><a name="ref_2399_7" href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; 2417 <span class="symbol"><a name="ref_2400_7" href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</a> := <a href="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</a>) 2418 <b>is</b> 2419 <b>type</b> <span class="symbol"><a name="ref_2402_12">Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2420 <b>function</b> <span class="symbol"><a name="ref_2403_16">Transform</a></span> (<span class="symbol"><a name="ref_2403_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 2421 <span class="symbol"><a name="ref_2404_27">Y</a></span>, <span class="symbol"><a name="ref_2404_30">X</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</a>; 2422 <span class="symbol"><a name="ref_2405_27">Dir</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2423 <b>pragma</b> Import (C, Transform, "wmouse_trafo"); 2424 2425 <span class="symbol"><a name="ref_2408_7">X</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a>); 2426 <span class="symbol"><a name="ref_2409_7">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a>); 2427 <span class="symbol"><a name="ref_2410_7">D</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> := <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>; 2428 <span class="symbol"><a name="ref_2411_7">R</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2429 <b>begin</b> 2430 <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a> = <a href="terminal_interface-curses__ads.htm#ref_1984_46">To_Screen</a> <b>then</b> 2431 <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a> := 1; 2432 <b>end</b> <b>if</b>; 2433 <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> := <a href="terminal_interface-curses__adb.htm#ref_2403_16">Transform</a> (<a href="terminal_interface-curses__ads.htm#ref_1986_7">W</a>, <a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a>); 2434 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> 2435 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2436 <b>else</b> 2437 <a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>); 2438 <a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>); 2439 <b>end</b> <b>if</b>; 2440 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a>; 2441<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2442 <b>procedure</b> <span class="symbol"><a name="ref_2425_14" href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a></span> <b>is</b> 2443 <b>function</b> <span class="symbol"><a name="ref_2426_16">C_Use_Default_Colors</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2444 <b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors"); 2445 <span class="symbol"><a name="ref_2428_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</a>; 2446 <b>begin</b> 2447 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2428_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2448 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2449 <b>end</b> <b>if</b>; 2450 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a>; 2451 2452 <b>procedure</b> <span class="symbol"><a name="ref_2435_14" href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2435_37" href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>; 2453 <span class="symbol"><a name="ref_2436_37" href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>) 2454 <b>is</b> 2455 <b>function</b> <span class="symbol"><a name="ref_2438_16">C_Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2438_41">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2456 <span class="symbol"><a name="ref_2439_41">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2457 <b>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors"); 2458 2459 <span class="symbol"><a name="ref_2442_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a>), 2460 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a>)); 2461 <b>begin</b> 2462 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2442_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> 2463 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2464 <b>end</b> <b>if</b>; 2465 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a>; 2466<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2467 <b>function</b> <span class="symbol"><a name="ref_2450_13" href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a></span> <b>return</b> String 2468 <b>is</b> 2469 <b>function</b> <span class="symbol"><a name="ref_2452_16">curses_versionC</a></span> <b>return</b> chars_ptr; 2470 <b>pragma</b> Import (C, curses_versionC, "curses_version"); 2471 <span class="symbol"><a name="ref_2454_7">Result</a></span> : <b>constant</b> chars_ptr := <a href="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</a>; 2472 <b>begin</b> 2473 <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2454_7">Result</a>); 2474 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a>; 2475<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2476 <b>procedure</b> <span class="symbol"><a name="ref_2459_14" href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a></span> <b>is</b> 2477 <b>procedure</b> <span class="symbol"><a name="ref_2460_17">curses_freeall</a></span>; 2478 <b>pragma</b> Import (C, curses_freeall, "_nc_freeall"); 2479 <b>begin</b> 2480 <span class="comment"><em>-- Use this only for testing: you cannot use curses after calling it,</em></span> 2481 <span class="comment"><em>-- so it has to be the "last" thing done before exiting the program.</em></span> 2482 <span class="comment"><em>-- This will not really free ALL of memory used by curses. That is</em></span> 2483 <span class="comment"><em>-- because it cannot free the memory used for stdout's setbuf. The</em></span> 2484 <span class="comment"><em>-- _nc_free_and_exit() procedure can do that, but it can be invoked</em></span> 2485 <span class="comment"><em>-- safely only from C - and again, that only as the "last" thing done</em></span> 2486 <span class="comment"><em>-- before exiting the program.</em></span> 2487 <a href="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</a>; 2488 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a>; 2489<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2490 <b>function</b> <span class="symbol"><a name="ref_2473_13" href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a></span> (<span class="symbol"><a name="ref_2473_33" href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a></span> : Boolean) <b>return</b> Boolean 2491 <b>is</b> 2492 <b>function</b> <span class="symbol"><a name="ref_2475_16">use_extended_namesC</a></span> (<span class="symbol"><a name="ref_2475_37">e</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2493 <b>pragma</b> Import (C, use_extended_namesC, "use_extended_names"); 2494 2495 <span class="symbol"><a name="ref_2478_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := 2496 <a href="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</a> (<a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a>))); 2497 <b>begin</b> 2498 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2478_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>) <b>then</b> 2499 <b>return</b> False; 2500 <b>else</b> 2501 <b>return</b> True; 2502 <b>end</b> <b>if</b>; 2503 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a>; 2504<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2505 <b>procedure</b> <span class="symbol"><a name="ref_2488_14" href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a></span> (<span class="symbol"><a name="ref_2488_35" href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a></span> : String) 2506 <b>is</b> 2507 <b>function</b> <span class="symbol"><a name="ref_2490_16">scr_dump</a></span> (<span class="symbol"><a name="ref_2490_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2508 <b>pragma</b> Import (C, scr_dump, "scr_dump"); 2509 <span class="symbol"><a name="ref_2492_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>'Length); 2510 <span class="symbol"><a name="ref_2493_7">Length</a></span> : size_t; 2511 <b>begin</b> 2512 To_C (<a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2493_7">Length</a>); 2513 <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</a> (<a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>) <b>then</b> 2514 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2515 <b>end</b> <b>if</b>; 2516 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a>; 2517 2518 <b>procedure</b> <span class="symbol"><a name="ref_2501_14" href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a></span> (<span class="symbol"><a name="ref_2501_40" href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a></span> : String) 2519 <b>is</b> 2520 <b>function</b> <span class="symbol"><a name="ref_2503_16">scr_restore</a></span> (<span class="symbol"><a name="ref_2503_29">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2521 <b>pragma</b> Import (C, scr_restore, "scr_restore"); 2522 <span class="symbol"><a name="ref_2505_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>'Length); 2523 <span class="symbol"><a name="ref_2506_7">Length</a></span> : size_t; 2524 <b>begin</b> 2525 To_C (<a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2506_7">Length</a>); 2526 <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</a> (<a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>) <b>then</b> 2527 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2528 <b>end</b> <b>if</b>; 2529 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a>; 2530 2531 <b>procedure</b> <span class="symbol"><a name="ref_2514_14" href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a></span> (<span class="symbol"><a name="ref_2514_37" href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a></span> : String) 2532 <b>is</b> 2533 <b>function</b> <span class="symbol"><a name="ref_2516_16">scr_init</a></span> (<span class="symbol"><a name="ref_2516_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2534 <b>pragma</b> Import (C, scr_init, "scr_init"); 2535 <span class="symbol"><a name="ref_2518_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>'Length); 2536 <span class="symbol"><a name="ref_2519_7">Length</a></span> : size_t; 2537 <b>begin</b> 2538 To_C (<a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2519_7">Length</a>); 2539 <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</a> (<a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>) <b>then</b> 2540 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2541 <b>end</b> <b>if</b>; 2542 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a>; 2543 2544 <b>procedure</b> <span class="symbol"><a name="ref_2527_14" href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a></span> (<span class="symbol"><a name="ref_2527_31" href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a></span> : String) 2545 <b>is</b> 2546 <b>function</b> <span class="symbol"><a name="ref_2529_16">scr_set</a></span> (<span class="symbol"><a name="ref_2529_25">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2547 <b>pragma</b> Import (C, scr_set, "scr_set"); 2548 <span class="symbol"><a name="ref_2531_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>'Length); 2549 <span class="symbol"><a name="ref_2532_7">Length</a></span> : size_t; 2550 <b>begin</b> 2551 To_C (<a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2532_7">Length</a>); 2552 <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</a> (<a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>) <b>then</b> 2553 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2554 <b>end</b> <b>if</b>; 2555 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a>; 2556<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2557 <b>procedure</b> <span class="symbol"><a name="ref_2540_14" href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a></span> (<span class="symbol"><a name="ref_2540_22" href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; 2558 <span class="symbol"><a name="ref_2541_22" href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; 2559 <span class="symbol"><a name="ref_2542_22" href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> 2560 <b>function</b> <span class="symbol"><a name="ref_2543_16">wresize</a></span> (<span class="symbol"><a name="ref_2543_25">win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; 2561 <span class="symbol"><a name="ref_2544_25">lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2562 <span class="symbol"><a name="ref_2545_25">columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; 2563 <b>pragma</b> Import (C, wresize); 2564 <b>begin</b> 2565 <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2543_16">wresize</a> (<a href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a>, 2566 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a>), 2567 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> 2568 <b>then</b> 2569 <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; 2570 <b>end</b> <b>if</b>; 2571 <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a>; 2572<span class="comment"><em>------------------------------------------------------------------------------</em></span> 2573 2574<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>; 2575</pre></body></html> 2576