1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01//EN">
4 <TITLE>terminal_interface-curses-mouse.ads
</TITLE>
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1">
6 <style type=
"text/css">
16 <HR><DIV style=
"text-align:center"><H1> File : terminal_interface-curses-mouse.ads
</H1></DIV><HR>
18 <span class=
"comment"><EM>------------------------------------------------------------------------------
</EM></span>
19 <span class=
"comment"><EM>-- --
</EM></span>
20 <span class=
"comment"><EM>--
<A HREF=
"http://www.gnat.com">GNAT
</A> ncurses Binding --
</EM></span>
21 <span class=
"comment"><EM>-- --
</EM></span>
22 <span class=
"comment"><EM>-- Terminal_Interface.Curses.Mouse --
</EM></span>
23 <span class=
"comment"><EM>-- --
</EM></span>
24 <span class=
"comment"><EM>-- S P E C --
</EM></span>
25 <span class=
"comment"><EM>-- --
</EM></span>
26 <span class=
"comment"><EM>------------------------------------------------------------------------------
</EM></span>
27 <span class=
"comment"><EM>-- Copyright (c)
1998-
2014,
2015 Free Software Foundation, Inc. --
</EM></span>
28 <span class=
"comment"><EM>-- --
</EM></span>
29 <span class=
"comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --
</EM></span>
30 <span class=
"comment"><EM>-- copy of this software and associated documentation files (the --
</EM></span>
31 <span class=
"comment"><EM>--
"Software"), to deal in the Software without restriction, including --
</EM></span>
32 <span class=
"comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --
</EM></span>
33 <span class=
"comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --
</EM></span>
34 <span class=
"comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --
</EM></span>
35 <span class=
"comment"><EM>-- furnished to do so, subject to the following conditions: --
</EM></span>
36 <span class=
"comment"><EM>-- --
</EM></span>
37 <span class=
"comment"><EM>-- The above copyright notice and this permission notice shall be included --
</EM></span>
38 <span class=
"comment"><EM>-- in all copies or substantial portions of the Software. --
</EM></span>
39 <span class=
"comment"><EM>-- --
</EM></span>
40 <span class=
"comment"><EM>-- THE SOFTWARE IS PROVIDED
"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
</EM></span>
41 <span class=
"comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
</EM></span>
42 <span class=
"comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --
</EM></span>
43 <span class=
"comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
</EM></span>
44 <span class=
"comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
</EM></span>
45 <span class=
"comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --
</EM></span>
46 <span class=
"comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --
</EM></span>
47 <span class=
"comment"><EM>-- --
</EM></span>
48 <span class=
"comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --
</EM></span>
49 <span class=
"comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --
</EM></span>
50 <span class=
"comment"><EM>-- sale, use or other dealings in this Software without prior written --
</EM></span>
51 <span class=
"comment"><EM>-- authorization. --
</EM></span>
52 <span class=
"comment"><EM>------------------------------------------------------------------------------
</EM></span>
53 <span class=
"comment"><EM>-- Author: Juergen Pfeifer,
1996</EM></span>
54 <span class=
"comment"><EM>-- Version Control:
</EM></span>
55 <span class=
"comment"><EM>-- @Revision:
1.32 @
</EM></span>
56 <span class=
"comment"><EM>-- @Date:
2015/
05/
30 23:
19:
19 @
</EM></span>
57 <span class=
"comment"><EM>-- Binding Version
01.00</EM></span>
58 <span class=
"comment"><EM>------------------------------------------------------------------------------
</EM></span>
61 <b>package
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_47_28">Curses
</A>.
<span class=
"symbol"><A NAME=
"ref_44_35" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_46_40">Mouse
</A></span> <b>is
</b>
62 <b>pragma
</b> Preelaborate (
<A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_47_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse
</A>);
64 <span class=
"comment"><EM>-- |=====================================================================
</EM></span>
65 <span class=
"comment"><EM>-- | Man page
<A HREF=
"../man/curs_mouse.3x.html">curs_mouse
.3x
</A></EM></span>
66 <span class=
"comment"><EM>-- |=====================================================================
</EM></span>
67 <span class=
"comment"><EM>-- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates
</EM></span>
68 <span class=
"comment"><EM>-- in the parent package.
</EM></span>
69 <span class=
"comment"><EM>--
</EM></span>
70 <span class=
"comment"><EM>-- Not implemented:
</EM></span>
71 <span class=
"comment"><EM>-- REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event
</EM></span>
72 <span class=
"comment"><EM>-- or Start_Mouse)
</EM></span>
73 <b>type
</b> <span class=
"symbol"><A NAME=
"ref_56_9">Event_Mask
</A></span> <b>is
</b> <b>private
</b>;
74 <span class=
"symbol"><A NAME=
"ref_57_4">No_Events
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>;
75 <span class=
"symbol"><A NAME=
"ref_58_4">All_Events
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>;
77 <b>type
</b> <span class=
"symbol"><A NAME=
"ref_60_9">Mouse_Button
</A></span> <b>is
</b> (
<span class=
"symbol"><A NAME=
"ref_60_26">Left
</A></span>,
<span class=
"comment"><EM>-- aka: Button
1</EM></span>
78 <span class=
"symbol"><A NAME=
"ref_61_26">Middle
</A></span>,
<span class=
"comment"><EM>-- aka: Button
2</EM></span>
79 <span class=
"symbol"><A NAME=
"ref_62_26">Right
</A></span>,
<span class=
"comment"><EM>-- aka: Button
3</EM></span>
80 <span class=
"symbol"><A NAME=
"ref_63_26">Button4
</A></span>,
<span class=
"comment"><EM>-- aka: Button
4</EM></span>
81 <span class=
"symbol"><A NAME=
"ref_64_26">Control
</A></span>,
<span class=
"comment"><EM>-- Control Key
</EM></span>
82 <span class=
"symbol"><A NAME=
"ref_65_26">Shift
</A></span>,
<span class=
"comment"><EM>-- Shift Key
</EM></span>
83 <span class=
"symbol"><A NAME=
"ref_66_26">Alt
</A></span>);
<span class=
"comment"><EM>-- ALT Key
</EM></span>
85 <b>subtype
</b> <span class=
"symbol"><A NAME=
"ref_68_12">Real_Buttons
</A></span> <b>is
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button
</A> <b>range
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_26">Left
</A> ..
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_63_26">Button4
</A>;
86 <b>subtype
</b> <span class=
"symbol"><A NAME=
"ref_69_12">Modifier_Keys
</A></span> <b>is
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button
</A> <b>range
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_64_26">Control
</A> ..
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt
</A>;
88 <b>type
</b> <span class=
"symbol"><A NAME=
"ref_71_9">Button_State
</A></span> <b>is
</b> (
<span class=
"symbol"><A NAME=
"ref_71_26">Released
</A></span>,
89 <span class=
"symbol"><A NAME=
"ref_72_26">Pressed
</A></span>,
90 <span class=
"symbol"><A NAME=
"ref_73_26">Clicked
</A></span>,
91 <span class=
"symbol"><A NAME=
"ref_74_26">Double_Clicked
</A></span>,
92 <span class=
"symbol"><A NAME=
"ref_75_26">Triple_Clicked
</A></span>);
94 <b>type
</b> Button_States
<b>is
</b> <b>array
</b> (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State
</A>)
<b>of
</b> Boolean;
95 <b>pragma
</b> Pack (Button_States);
97 <span class=
"symbol"><A NAME=
"ref_80_4">All_Clicks
</A></span> :
<b>constant
</b> Button_States := (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_73_26">Clicked
</A> ..
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_75_26">Triple_Clicked
</A> =
> True,
98 <b>others
</b> =
> False);
99 <span class=
"symbol"><A NAME=
"ref_82_4">All_States
</A></span> :
<b>constant
</b> Button_States := (
<b>others
</b> =
> True);
101 <b>type
</b> <span class=
"symbol"><A NAME=
"ref_84_9">Mouse_Event
</A></span> <b>is
</b> <b>private
</b>;
103 <span class=
"comment"><EM>-- |=====================================================================
</EM></span>
104 <span class=
"comment"><EM>-- | Man page
<A HREF=
"../man/curs_mouse.3x.html">curs_mouse
.3x
</A></EM></span>
105 <span class=
"comment"><EM>-- |=====================================================================
</EM></span>
107 <b>function
</b> <span class=
"symbol"><A NAME=
"ref_90_13" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_50_13">Has_Mouse
</A></span> <b>return
</b> Boolean;
108 <span class=
"comment"><EM>-- Return true if a mouse device is supported, false otherwise.
</EM></span>
110 <b>procedure
</b> <span class=
"symbol"><A NAME=
"ref_93_14" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_77_14">Register_Reportable_Event
</A></span>
111 (
<span class=
"symbol"><A NAME=
"ref_94_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_77_41">Button
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button
</A>;
112 <span class=
"symbol"><A NAME=
"ref_95_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_78_41">State
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State
</A>;
113 <span class=
"symbol"><A NAME=
"ref_96_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_79_41">Mask
</A></span> :
<b>in
</b> <b>out
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>);
114 <span class=
"comment"><EM>-- Stores the event described by the button and the state in the mask.
</EM></span>
115 <span class=
"comment"><EM>-- Before you call this the first time, you should initialize the mask
</EM></span>
116 <span class=
"comment"><EM>-- with the Empty_Mask constant
</EM></span>
117 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event
</A>);
119 <b>procedure
</b> <span class=
"symbol"><A NAME=
"ref_102_14" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_95_14">Register_Reportable_Events
</A></span>
120 (
<span class=
"symbol"><A NAME=
"ref_103_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_95_42">Button
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button
</A>;
121 <span class=
"symbol"><A NAME=
"ref_104_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_96_42">State
</A></span> : Button_States;
122 <span class=
"symbol"><A NAME=
"ref_105_7" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_97_42">Mask
</A></span> :
<b>in
</b> <b>out
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>);
123 <span class=
"comment"><EM>-- Register all events described by the Button and the State bitmap.
</EM></span>
124 <span class=
"comment"><EM>-- Before you call this the first time, you should initialize the mask
</EM></span>
125 <span class=
"comment"><EM>-- with the Empty_Mask constant
</EM></span>
127 <span class=
"comment"><EM>-- #
1A
NAME=
"AFU_1"#
2|
</EM></span>
128 <span class=
"comment"><EM>-- There is one difference to mousmask(): we return the value of the
</EM></span>
129 <span class=
"comment"><EM>-- old mask, that means the event mask value before this call.
</EM></span>
130 <span class=
"comment"><EM>-- Not Implemented: The library version
</EM></span>
131 <span class=
"comment"><EM>-- returns a Mouse_Mask that tells which events are reported.
</EM></span>
132 <b>function
</b> <span class=
"symbol"><A NAME=
"ref_115_13" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_107_13">Start_Mouse
</A></span> (
<span class=
"symbol"><A NAME=
"ref_115_26" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_107_26">Mask
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events
</A>)
133 <b>return
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>;
134 <span class=
"comment"><EM>-- AKA:
<A HREF=
"../man/curs_mouse.3x.html">mousemask()
</A></EM></span>
135 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse
</A>);
137 <b>procedure
</b> <span class=
"symbol"><A NAME=
"ref_120_14" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_123_14">End_Mouse
</A></span> (
<span class=
"symbol"><A NAME=
"ref_120_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_123_25">Mask
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events
</A>);
138 <span class=
"comment"><EM>-- Terminates the mouse, restores the specified event mask
</EM></span>
139 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse
</A>);
141 <span class=
"comment"><EM>-- #
1A
NAME=
"AFU_2"#
2|
</EM></span>
142 <b>function
</b> <span class=
"symbol"><A NAME=
"ref_125_13" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_62_13">Get_Mouse
</A></span> <b>return
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>;
143 <span class=
"comment"><EM>-- AKA:
<A HREF=
"../man/curs_mouse.3x.html">getmouse()
</A></EM></span>
144 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse
</A>);
146 <b>procedure
</b> <span class=
"symbol"><A NAME=
"ref_129_14" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event
</A></span> (
<span class=
"symbol"><A NAME=
"ref_129_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_171_25">Event
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>;
147 <span class=
"symbol"><A NAME=
"ref_130_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_172_25">Y
</A></span> :
<b>out
</b> <A HREF=
"terminal_interface-curses__ads.htm#ref_58_9">Line_Position
</A>;
148 <span class=
"symbol"><A NAME=
"ref_131_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_173_25">X
</A></span> :
<b>out
</b> <A HREF=
"terminal_interface-curses__ads.htm#ref_59_9">Column_Position
</A>;
149 <span class=
"symbol"><A NAME=
"ref_132_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_174_25">Button
</A></span> :
<b>out
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button
</A>;
150 <span class=
"symbol"><A NAME=
"ref_133_25" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_175_25">State
</A></span> :
<b>out
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State
</A>);
151 <span class=
"comment"><EM>-- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they
</EM></span>
152 <span class=
"comment"><EM>-- may not be identical to window coordinates.
</EM></span>
153 <span class=
"comment"><EM>-- Not Implemented: Get_Event only reports one event, the C library
</EM></span>
154 <span class=
"comment"><EM>-- version supports multiple events, e.g. {click-
1, click-
3}
</EM></span>
155 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event
</A>);
157 <span class=
"comment"><EM>-- #
1A
NAME=
"AFU_3"#
2|
</EM></span>
158 <b>procedure
</b> <span class=
"symbol"><A NAME=
"ref_141_14" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse
</A></span> (
<span class=
"symbol"><A NAME=
"ref_141_27" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_184_27">Event
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>);
159 <span class=
"comment"><EM>-- AKA:
<A HREF=
"../man/curs_mouse.3x.html">ungetmouse()
</A></EM></span>
160 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse
</A>);
162 <span class=
"comment"><EM>-- #
1A
NAME=
"AFU_4"#
2|
</EM></span>
163 <b>function
</b> <span class=
"symbol"><A NAME=
"ref_146_13" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window
</A></span> (
<span class=
"symbol"><A NAME=
"ref_146_33" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_194_33">Win
</A></span> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_55_9">Window
</A> :=
<A HREF=
"terminal_interface-curses__ads.htm#ref_644_13">Standard_Window
</A>;
164 <span class=
"symbol"><A NAME=
"ref_147_33" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_195_33">Event
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>)
<b>return
</b> Boolean;
165 <span class=
"comment"><EM>-- AKA:
<A HREF=
"../man/curs_mouse.3x.html">wenclose()
</A></EM></span>
166 <span class=
"comment"><EM>-- But : use event instead of screen coordinates.
</EM></span>
167 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window
</A>);
169 <span class=
"comment"><EM>-- #
1A
NAME=
"AFU_5"#
2|
</EM></span>
170 <b>function
</b> <span class=
"symbol"><A NAME=
"ref_153_13" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval
</A></span> (
<span class=
"symbol"><A NAME=
"ref_153_29" HREF=
"terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec
</A></span> : Natural :=
200)
<b>return
</b> Natural;
171 <span class=
"comment"><EM>-- AKA:
<A HREF=
"../man/curs_mouse.3x.html">mouseinterval()
</A></EM></span>
172 <b>pragma
</b> Inline (
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval
</A>);
175 <span class=
"comment"><EM>-- This can be as little as
32 bits (unsigned), or as long as the system's
</EM></span>
176 <span class=
"comment"><EM>-- unsigned long. Declare it as the minimum size to handle all valid
</EM></span>
177 <span class=
"comment"><EM>-- sizes.
</EM></span>
178 <b>type
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> <b>is
</b> <b>mod
</b> 4294967296;
180 <b>type
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A> <b>is
</b>
182 <span class=
"symbol"><A NAME=
"ref_165_10">Id
</A></span> : Integer
<b>range
</b> Integer (
<A HREF=
"interfac__ads.htm#ref_36_9">Interfaces
</A>.C.short'First) ..
183 Integer (
<A HREF=
"interfac__ads.htm#ref_36_9">Interfaces
</A>.C.short'Last);
184 <span class=
"symbol"><A NAME=
"ref_167_10">X
</A></span>,
<span class=
"symbol"><A NAME=
"ref_167_13">Y
</A></span>,
<span class=
"symbol"><A NAME=
"ref_167_16">Z
</A></span> : Integer
<b>range
</b> Integer (
<A HREF=
"interfac__ads.htm#ref_36_9">Interfaces
</A>.C.int'First) ..
185 Integer (
<A HREF=
"interfac__ads.htm#ref_36_9">Interfaces
</A>.C.int'Last);
186 <span class=
"symbol"><A NAME=
"ref_169_10">Bstate
</A></span> :
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>;
187 <b>end
</b> <b>record
</b>;
188 <b>pragma
</b> Convention (C,
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>);
190 <b>for
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A> <b>use
</b>
192 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_165_10">Id
</A> <b>at
</b> 0 <b>range
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First
</A>
193 ..
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last
</A>;
194 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_167_10">X
</A> <b>at
</b> 0 <b>range
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First
</A>
195 ..
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last
</A>;
196 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_167_13">Y
</A> <b>at
</b> 0 <b>range
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First
</A>
197 ..
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last
</A>;
198 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_167_16">Z
</A> <b>at
</b> 0 <b>range
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First
</A>
199 ..
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last
</A>;
200 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_169_10">Bstate
</A> <b>at
</b> 0 <b>range
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First
</A>
201 ..
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last
</A>;
202 <b>end
</b> <b>record
</b>;
203 <b>for
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event
</A>'Size
<b>use
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size
</A>;
204 Generation_Bit_Order : System.Bit_Order
<b>renames
</b> <A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order
</A>;
206 <span class=
"symbol"><A NAME=
"ref_189_4">BUTTON_CTRL
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL
</A>;
207 <span class=
"symbol"><A NAME=
"ref_190_4">BUTTON_SHIFT
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT
</A>;
208 <span class=
"symbol"><A NAME=
"ref_191_4">BUTTON_ALT
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT
</A>;
209 <span class=
"symbol"><A NAME=
"ref_192_4">BUTTON1_EVENTS
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>
210 :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1
</A>;
211 <span class=
"symbol"><A NAME=
"ref_194_4">BUTTON2_EVENTS
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>
212 :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2
</A>;
213 <span class=
"symbol"><A NAME=
"ref_196_4">BUTTON3_EVENTS
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>
214 :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3
</A>;
215 <span class=
"symbol"><A NAME=
"ref_198_4">BUTTON4_EVENTS
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A>
216 :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4
</A>;
217 <span class=
"symbol"><A NAME=
"ref_200_4">ALL_MOUSE_EVENTS
</A></span> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants
</A>.
<A HREF=
"terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS
</A>;
218 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events
</A> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
0;
219 <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events
</A> :
<b>constant
</b> <A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask
</A> :=
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_200_4">ALL_MOUSE_EVENTS
</A>;
221 <b>end
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_47_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse
</A>;