X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-mouse__ads.htm;h=c4de5e5fe90e5eaccb5a340ab182f7a5bddf264f;hp=4b3a071e278dc421496f961b3737729e752f392a;hb=95bcbd4bb8e933c86e6fc4aba9ea1c7fd3d30e3d;hpb=761e4f0825b330e970558e82a4bd638383914429
diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
index 4b3a071e..c4de5e5f 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
@@ -24,7 +24,8 @@
-
+
+
@@ -52,18 +53,14 @@
-
-
+
+
-
-
-
-
with System;
-package Terminal_Interface.Curses.Mouse is
- pragma Preelaborate (Terminal_Interface.Curses.Mouse);
+package Terminal_Interface.Curses.Mouse is
+ pragma Preelaborate (Terminal_Interface.Curses.Mouse);
@@ -74,170 +71,153 @@
- type Event_Mask is private;
- No_Events : constant Event_Mask;
- All_Events : constant Event_Mask;
-
- type Mouse_Button is (Left,
- Middle,
- Right,
- Button4,
- Control,
- Shift,
- Alt);
-
- subtype Real_Buttons is Mouse_Button range Left .. Button4;
- subtype Modifier_Keys is Mouse_Button range Control .. Alt;
-
- type Button_State is (Released,
- Pressed,
- Clicked,
- Double_Clicked,
- Triple_Clicked);
-
- type Button_States is array (Button_State) of Boolean;
+ type Event_Mask is private;
+ No_Events : constant Event_Mask;
+ All_Events : constant Event_Mask;
+
+ type Mouse_Button is (Left,
+ Middle,
+ Right,
+ Button4,
+ Control,
+ Shift,
+ Alt);
+
+ subtype Real_Buttons is Mouse_Button range Left .. Button4;
+ subtype Modifier_Keys is Mouse_Button range Control .. Alt;
+
+ type Button_State is (Released,
+ Pressed,
+ Clicked,
+ Double_Clicked,
+ Triple_Clicked);
+
+ type Button_States is array (Button_State) of Boolean;
pragma Pack (Button_States);
- All_Clicks : constant Button_States := (Clicked .. Triple_Clicked => True,
+ All_Clicks : constant Button_States := (Clicked .. Triple_Clicked => True,
others => False);
- All_States : constant Button_States := (others => True);
+ All_States : constant Button_States := (others => True);
- type Mouse_Event is private;
+ type Mouse_Event is private;
- function Has_Mouse return Boolean;
+ function Has_Mouse return Boolean;
- procedure Register_Reportable_Event
- (Button : Mouse_Button;
- State : Button_State;
- Mask : in out Event_Mask);
+ procedure Register_Reportable_Event
+ (Button : Mouse_Button;
+ State : Button_State;
+ Mask : in out Event_Mask);
- pragma Inline (Register_Reportable_Event);
+ pragma Inline (Register_Reportable_Event);
- procedure Register_Reportable_Events
- (Button : Mouse_Button;
- State : Button_States;
- Mask : in out Event_Mask);
+ procedure Register_Reportable_Events
+ (Button : Mouse_Button;
+ State : Button_States;
+ Mask : in out Event_Mask);
-
+
- function Start_Mouse (Mask : Event_Mask := All_Events)
- return Event_Mask;
+ function Start_Mouse (Mask : Event_Mask := All_Events)
+ return Event_Mask;
- pragma Inline (Start_Mouse);
+ pragma Inline (Start_Mouse);
- procedure End_Mouse (Mask : Event_Mask := No_Events);
+ procedure End_Mouse (Mask : Event_Mask := No_Events);
- pragma Inline (End_Mouse);
+ pragma Inline (End_Mouse);
-
- function Get_Mouse return Mouse_Event;
+
+ function Get_Mouse return Mouse_Event;
- pragma Inline (Get_Mouse);
+ pragma Inline (Get_Mouse);
- procedure Get_Event (Event : Mouse_Event;
- Y : out Line_Position;
- X : out Column_Position;
- Button : out Mouse_Button;
- State : out Button_State);
+ procedure Get_Event (Event : Mouse_Event;
+ Y : out Line_Position;
+ X : out Column_Position;
+ Button : out Mouse_Button;
+ State : out Button_State);
- pragma Inline (Get_Event);
+ pragma Inline (Get_Event);
-
- procedure Unget_Mouse (Event : Mouse_Event);
+
+ procedure Unget_Mouse (Event : Mouse_Event);
- pragma Inline (Unget_Mouse);
+ pragma Inline (Unget_Mouse);
-
- function Enclosed_In_Window (Win : Window := Standard_Window;
- Event : Mouse_Event) return Boolean;
+
+ function Enclosed_In_Window (Win : Window := Standard_Window;
+ Event : Mouse_Event) return Boolean;
- pragma Inline (Enclosed_In_Window);
+ pragma Inline (Enclosed_In_Window);
-
- function Mouse_Interval (Msec : Natural := 200) return Natural;
+
+ function Mouse_Interval (Msec : Natural := 200) return Natural;
- pragma Inline (Mouse_Interval);
+ pragma Inline (Mouse_Interval);
private
- type Event_Mask is new Interfaces.C.unsigned_long;
+
+
+
+ type Event_Mask is mod 4294967296;
- type Mouse_Event is
+ type Mouse_Event is
record
- Id : Integer range Integer (Interfaces.C.short'First) ..
- Integer (Interfaces.C.short'Last);
- X, Y, Z : Integer range Integer (Interfaces.C.int'First) ..
- Integer (Interfaces.C.int'Last);
- Bstate : Event_Mask;
+ Id : Integer range Integer (Interfaces.C.short'First) ..
+ Integer (Interfaces.C.short'Last);
+ X, Y, Z : Integer range Integer (Interfaces.C.int'First) ..
+ Integer (Interfaces.C.int'Last);
+ Bstate : Event_Mask;
end record;
- pragma Convention (C, Mouse_Event);
+ pragma Convention (C, Mouse_Event);
- for Mouse_Event use
+ for Mouse_Event use
record
- Id at 0 range 0 .. 15;
- X at 0 range 32 .. 63;
- Y at 0 range 64 .. 95;
- Z at 0 range 96 .. 127;
- Bstate at 0 range 128 .. 191;
+ Id at 0 range Curses_Constants.MEVENT_id_First
+ .. Curses_Constants.MEVENT_id_Last;
+ X at 0 range Curses_Constants.MEVENT_x_First
+ .. Curses_Constants.MEVENT_x_Last;
+ Y at 0 range Curses_Constants.MEVENT_y_First
+ .. Curses_Constants.MEVENT_y_Last;
+ Z at 0 range Curses_Constants.MEVENT_z_First
+ .. Curses_Constants.MEVENT_z_Last;
+ Bstate at 0 range Curses_Constants.MEVENT_bstate_First
+ .. Curses_Constants.MEVENT_bstate_Last;
end record;
-
-
-
- Generation_Bit_Order : constant System.Bit_Order := System.Low_Order_First;
-
-
- BUTTON1_RELEASED : constant Event_Mask := 8#00000000001#;
- BUTTON1_PRESSED : constant Event_Mask := 8#00000000002#;
- BUTTON1_CLICKED : constant Event_Mask := 8#00000000004#;
- BUTTON1_DOUBLE_CLICKED : constant Event_Mask := 8#00000000010#;
- BUTTON1_TRIPLE_CLICKED : constant Event_Mask := 8#00000000020#;
- BUTTON1_RESERVED_EVENT : constant Event_Mask := 8#00000000040#;
- BUTTON2_RELEASED : constant Event_Mask := 8#00000000100#;
- BUTTON2_PRESSED : constant Event_Mask := 8#00000000200#;
- BUTTON2_CLICKED : constant Event_Mask := 8#00000000400#;
- BUTTON2_DOUBLE_CLICKED : constant Event_Mask := 8#00000001000#;
- BUTTON2_TRIPLE_CLICKED : constant Event_Mask := 8#00000002000#;
- BUTTON2_RESERVED_EVENT : constant Event_Mask := 8#00000004000#;
- BUTTON3_RELEASED : constant Event_Mask := 8#00000010000#;
- BUTTON3_PRESSED : constant Event_Mask := 8#00000020000#;
- BUTTON3_CLICKED : constant Event_Mask := 8#00000040000#;
- BUTTON3_DOUBLE_CLICKED : constant Event_Mask := 8#00000100000#;
- BUTTON3_TRIPLE_CLICKED : constant Event_Mask := 8#00000200000#;
- BUTTON3_RESERVED_EVENT : constant Event_Mask := 8#00000400000#;
- BUTTON4_RELEASED : constant Event_Mask := 8#00001000000#;
- BUTTON4_PRESSED : constant Event_Mask := 8#00002000000#;
- BUTTON4_CLICKED : constant Event_Mask := 8#00004000000#;
- BUTTON4_DOUBLE_CLICKED : constant Event_Mask := 8#00010000000#;
- BUTTON4_TRIPLE_CLICKED : constant Event_Mask := 8#00020000000#;
- BUTTON4_RESERVED_EVENT : constant Event_Mask := 8#00040000000#;
- BUTTON_CTRL : constant Event_Mask := 8#00100000000#;
- BUTTON_SHIFT : constant Event_Mask := 8#00200000000#;
- BUTTON_ALT : constant Event_Mask := 8#00400000000#;
- REPORT_MOUSE_POSITION : constant Event_Mask := 8#01000000000#;
- ALL_MOUSE_EVENTS : constant Event_Mask := 8#00777777777#;
- BUTTON1_EVENTS : constant Event_Mask := 8#00000000077#;
- BUTTON2_EVENTS : constant Event_Mask := 8#00000007700#;
- BUTTON3_EVENTS : constant Event_Mask := 8#00000770000#;
- BUTTON4_EVENTS : constant Event_Mask := 8#00077000000#;
-
- No_Events : constant Event_Mask := 0;
- All_Events : constant Event_Mask := ALL_MOUSE_EVENTS;
-
-end Terminal_Interface.Curses.Mouse;
+ for Mouse_Event'Size use Curses_Constants.MEVENT_Size;
+ Generation_Bit_Order : System.Bit_Order renames Curses_Constants.Bit_Order;
+
+ BUTTON_CTRL : constant Event_Mask := Curses_Constants.BUTTON_CTRL;
+ BUTTON_SHIFT : constant Event_Mask := Curses_Constants.BUTTON_SHIFT;
+ BUTTON_ALT : constant Event_Mask := Curses_Constants.BUTTON_ALT;
+ BUTTON1_EVENTS : constant Event_Mask
+ := Curses_Constants.all_events_button_1;
+ BUTTON2_EVENTS : constant Event_Mask
+ := Curses_Constants.all_events_button_2;
+ BUTTON3_EVENTS : constant Event_Mask
+ := Curses_Constants.all_events_button_3;
+ BUTTON4_EVENTS : constant Event_Mask
+ := Curses_Constants.all_events_button_4;
+ ALL_MOUSE_EVENTS : constant Event_Mask := Curses_Constants.ALL_MOUSE_EVENTS;
+ No_Events : constant Event_Mask := 0;
+ All_Events : constant Event_Mask := ALL_MOUSE_EVENTS;
+
+end Terminal_Interface.Curses.Mouse;