summaryrefslogtreecommitdiffstats
path: root/ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm')
-rw-r--r--ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm220
1 files changed, 220 insertions, 0 deletions
diff --git a/ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm
new file mode 100644
index 0000000..a8137c4
--- /dev/null
+++ b/ncurses-5.3/doc/html/ada/terminal_interface-curses-mouse__adb.htm
@@ -0,0 +1,220 @@
+<HTML><HEAD><TITLE>terminal_interface-curses-mouse.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-mouse.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- Terminal_Interface.Curses.Mouse --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- B O D Y --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc. --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions: --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software. --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></FONT>
+<FONT COLOR=green><EM>-- --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization. --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Author: <A HREF="http://www.familiepfeifer.de/juergen">J&uuml;rgen Pfeifer</A>, 1996</EM></FONT>
+<FONT COLOR=green><EM>-- Contact: <A HREF="http://www.familiepfeifer.de/Contact.aspx?Lang=en">www.familiepfeifer.de/Contact.aspx?Lang=en</A></EM></FONT>
+<FONT COLOR=green><EM>-- Version Control:</EM></FONT>
+<FONT COLOR=green><EM>-- @Revision: 1.17 @</EM></FONT>
+<FONT COLOR=green><EM>-- Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> System;
+
+<b>with</b> <A HREF="terminal_interface__ads.htm#42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#51_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#51_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C;
+<b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>;
+
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#49_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#48_35">Mouse</A><FONT COLOR=red><A NAME="48_40"></A></FONT> <b>is</b>
+
+ <b>use</b> <b>type</b> System.Bit_Order;
+ <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.int;
+
+ <b>function</b> <A HREF="terminal_interface-curses-mouse__ads.htm#98_13">Has_Mouse</A><FONT COLOR=red><A NAME="53_13"></A></FONT> <b>return</b> Boolean
+ <b>is</b>
+ <b>function</b> <FONT COLOR=red><A NAME="55_16">Mouse_Avail</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#55_16">Mouse_Avail</A>, "_nc_has_mouse");
+ <b>begin</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#761_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#203_4">Key_Mouse</A>) <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-mouse__adb.htm#55_16">Mouse_Avail</A> /= 0 <b>then</b>
+ <b>return</b> True;
+ <b>else</b>
+ <b>return</b> False;
+ <b>end</b> <b>if</b>;
+ <b>end</b> Has_Mouse;
+
+ <b>function</b> <A HREF="terminal_interface-curses-mouse__ads.htm#133_13">Get_Mouse</A><FONT COLOR=red><A NAME="65_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>
+ <b>is</b>
+ <b>type</b> <FONT COLOR=red><A NAME="67_12">Event_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>;
+
+ <b>function</b> <FONT COLOR=red><A NAME="69_16">Getmouse</A></FONT> (<FONT COLOR=red><A NAME="69_26">Ev</A></FONT> : <A HREF="terminal_interface-curses-mouse__adb.htm#67_12">Event_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#69_16">Getmouse</A>, "getmouse");
+
+ <FONT COLOR=red><A NAME="72_7">Event</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>;
+ <b>begin</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#69_16">Getmouse</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#72_7">Event</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#72_7">Event</A>;
+ <b>end</b> Get_Mouse;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__ads.htm#101_14">Register_Reportable_Event</A><FONT COLOR=red><A NAME="80_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#102_7">Button</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#103_7">State</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#104_7">Mask</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>)
+ <b>is</b>
+ <FONT COLOR=red><A NAME="84_7">Button_Nr</A></FONT> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#102_7">Button</A>);
+ <FONT COLOR=red><A NAME="85_7">State_Nr</A></FONT> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#103_7">State</A>);
+ <b>begin</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#102_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#77_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#103_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#80_26">Pressed</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>;
+ <b>else</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#102_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#76_12">Real_Buttons</A> <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#104_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#104_7">Mask</A> <b>or</b> ((2 ** (6 * <A HREF="terminal_interface-curses-mouse__adb.htm#84_7">Button_Nr</A>)) ** <A HREF="terminal_interface-curses-mouse__adb.htm#85_7">State_Nr</A>);
+ <b>else</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#104_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#104_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#217_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#84_7">Button_Nr</A> - 4));
+ <b>end</b> <b>if</b>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> Register_Reportable_Event;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__ads.htm#110_14">Register_Reportable_Events</A><FONT COLOR=red><A NAME="98_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#111_7">Button</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#112_7">State</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#85_9">Button_States</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#113_7">Mask</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>)
+ <b>is</b>
+ <b>begin</b>
+ <b>for</b> <FONT COLOR=red><A NAME="103_11">S</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#85_9">Button_States</A>'<b>Range</b> <b>loop</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#112_7">State</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#103_11">S</A>) <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#101_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#111_7">Button</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#103_11">S</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#113_7">Mask</A>);
+ <b>end</b> <b>if</b>;
+ <b>end</b> <b>loop</b>;
+ <b>end</b> Register_Reportable_Events;
+
+ <b>function</b> <A HREF="terminal_interface-curses-mouse__ads.htm#123_13">Start_Mouse</A><FONT COLOR=red><A NAME="110_13"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#123_26">Mask</A> : <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#66_4">All_Events</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>
+ <b>is</b>
+ <b>function</b> <FONT COLOR=red><A NAME="113_16">MMask</A></FONT> (<FONT COLOR=red><A NAME="113_23">M</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <FONT COLOR=red><A NAME="114_23">O</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#113_16">MMask</A>, "mousemask");
+ <FONT COLOR=red><A NAME="116_7">R</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <FONT COLOR=red><A NAME="117_7">Old</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <b>begin</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#116_7">R</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#113_16">MMask</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#123_26">Mask</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#117_7">Old</A>'<b>Access</b>);
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#117_7">Old</A>;
+ <b>end</b> Start_Mouse;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__ads.htm#128_14">End_Mouse</A><FONT COLOR=red><A NAME="123_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#128_25">Mask</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#65_4">No_Events</A>)
+ <b>is</b>
+ <b>begin</b>
+ <b>null</b>;
+ <b>end</b> End_Mouse;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__adb.htm#133_14">Dispatch_Event</A><FONT COLOR=red><A NAME="129_14"></A></FONT> (<FONT COLOR=red><A NAME="129_30">Mask</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <FONT COLOR=red><A NAME="130_30">Button</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>;
+ <FONT COLOR=red><A NAME="131_30">State</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>);
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__adb.htm#129_14">Dispatch_Event</A><FONT COLOR=red><A NAME="133_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#131_30">State</A> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>) <b>is</b>
+ <FONT COLOR=red><A NAME="136_7">L</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A>;
+ <b>begin</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#74_26">Alt</A>; <FONT COLOR=green><EM>-- preset to non real button;</EM></FONT>
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#222_4">BUTTON1_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#68_26">Left</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#223_4">BUTTON2_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#69_26">Middle</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#224_4">BUTTON3_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#70_26">Right</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#225_4">BUTTON4_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#71_26">Button4</A>;
+ <b>end</b> <b>if</b>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#76_12">Real_Buttons</A> <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#136_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A>));
+ <b>for</b> <FONT COLOR=red><A NAME="150_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>'<b>Range</b> <b>loop</b>
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#136_7">L</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#131_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#150_14">I</A>;
+ <b>exit</b>;
+ <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#136_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#136_7">L</A>;
+ <b>end</b> <b>loop</b>;
+ <b>else</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#131_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#80_26">Pressed</A>;
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#217_4">BUTTON_CTRL</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#72_26">Control</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#218_4">BUTTON_SHIFT</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#73_26">Shift</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#219_4">BUTTON_ALT</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#74_26">Alt</A>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> Dispatch_Event;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__ads.htm#137_14">Get_Event</A><FONT COLOR=red><A NAME="169_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#137_25">Event</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#138_25">Y</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#139_25">X</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#140_25">Button</A> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#68_9">Mouse_Button</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#141_25">State</A> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#79_9">Button_State</A>)
+ <b>is</b>
+ <FONT COLOR=red><A NAME="175_7">Mask</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#174_10">Bstate</A>;
+ <b>begin</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#139_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#172_10">X</A>);
+ <A HREF="terminal_interface-curses-mouse__ads.htm#138_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#172_13">Y</A>);
+ <A HREF="terminal_interface-curses-mouse__adb.htm#129_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#175_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#140_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#141_25">State</A>);
+ <b>end</b> Get_Event;
+
+ <b>procedure</b> <A HREF="terminal_interface-curses-mouse__ads.htm#149_14">Unget_Mouse</A><FONT COLOR=red><A NAME="182_14"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#149_27">Event</A> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>)
+ <b>is</b>
+ <b>function</b> <FONT COLOR=red><A NAME="184_16">Ungetmouse</A></FONT> (<FONT COLOR=red><A NAME="184_28">Ev</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#184_16">Ungetmouse</A>, "ungetmouse");
+ <b>begin</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#184_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#149_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> Unget_Mouse;
+
+ <b>function</b> <A HREF="terminal_interface-curses-mouse__ads.htm#154_13">Enclosed_In_Window</A><FONT COLOR=red><A NAME="192_13"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#154_33">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#155_33">Event</A> : <A HREF="terminal_interface-curses-mouse__ads.htm#92_9">Mouse_Event</A>) <b>return</b> Boolean
+ <b>is</b>
+ <b>function</b> <FONT COLOR=red><A NAME="195_16">Wenclose</A></FONT> (<FONT COLOR=red><A NAME="195_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="195_40">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; <FONT COLOR=red><A NAME="195_51">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#195_16">Wenclose</A>, "wenclose");
+ <b>begin</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#195_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#154_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#155_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#172_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#155_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#172_10">X</A>))
+ = <A HREF="terminal_interface-curses__ads.htm#1932_4">Curses_Bool_False</A> <b>then</b>
+ <b>return</b> False;
+ <b>else</b>
+ <b>return</b> True;
+ <b>end</b> <b>if</b>;
+ <b>end</b> Enclosed_In_Window;
+
+ <b>function</b> <A HREF="terminal_interface-curses-mouse__ads.htm#161_13">Mouse_Interval</A><FONT COLOR=red><A NAME="207_13"></A></FONT> (<A HREF="terminal_interface-curses-mouse__ads.htm#161_29">Msec</A> : Natural := 200) <b>return</b> Natural
+ <b>is</b>
+ <b>function</b> <FONT COLOR=red><A NAME="209_16">Mouseinterval</A></FONT> (<FONT COLOR=red><A NAME="209_31">Msec</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-mouse__adb.htm#209_16">Mouseinterval</A>, "mouseinterval");
+ <b>begin</b>
+ <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#209_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#161_29">Msec</A>)));
+ <b>end</b> Mouse_Interval;
+
+<b>end</b> Terminal_Interface.Curses.Mouse;
+</PRE></BODY></HTML> \ No newline at end of file