← All compilation units

Flyology_TUI.Events

Description

Key_Event

type Key_Event (Kind : Key_Kind := Text_Key) is record
   Modified : Modifiers;
   Repeated : Boolean := False;
   case Kind is
      when Text_Key =>
         Value : Text.Unbounded_Wide_Wide_String;
      when Function_Key =>
         Number : Positive := 1;
      when others =>
         null;
   end case;
end record;
Record fields
Kind
Modified
Repeated
Value
Number

Key_Kind

type Key_Kind is
  (Text_Key,
   Escape_Key,
   Enter_Key,
   Tab_Key,
   Backspace_Key,
   Insert_Key,
   Delete_Key,
   Home_Key,
   …,
   Function_Key);
Enumeration literals
Text_Key
Escape_Key
Enter_Key
Tab_Key
Backspace_Key
Insert_Key
Delete_Key
Home_Key
End_Key
Page_Up_Key
Page_Down_Key
Arrow_Up_Key
Arrow_Down_Key
Arrow_Left_Key
Arrow_Right_Key
Function_Key

Modifiers

type Modifiers is record
   Shift   : Boolean := False;
   Control : Boolean := False;
   Alt     : Boolean := False;
   Super   : Boolean := False;
end record;
Record fields
Shift
Control
Alt
Super

Mouse_Action

type Mouse_Action is
  (Mouse_Click,
   Mouse_Release,
   Mouse_Move,
   Mouse_Drag,
   Mouse_Wheel);
Enumeration literals
Mouse_Click
Mouse_Release
Mouse_Move
Mouse_Drag
Mouse_Wheel

Mouse_Button

type Mouse_Button is
  (No_Button,
   Left_Button,
   Middle_Button,
   Right_Button,
   Auxiliary_Button_1,
   Auxiliary_Button_2);
Enumeration literals
No_Button
Left_Button
Middle_Button
Right_Button
Auxiliary_Button_1
Auxiliary_Button_2

Mouse_Event

type Mouse_Event is record
   X          : Natural := 0;
   Y          : Natural := 0;
   Button     : Mouse_Button := No_Button;
   Action     : Mouse_Action := Mouse_Move;
   Modified   : Modifiers;
   Wheel_X    : Integer := 0;
   Wheel_Y    : Integer := 0;
end record;
Record fields
X
Y
Button
Action
Modified
Wheel_X
Wheel_Y

Pressed

function Pressed (Key : Key_Event) return Terminal_Event
Parameters
Key
Return value

Released

function Released (Key : Key_Event) return Terminal_Event
Parameters
Key
Return value

Resized

function Resized (Width, Height : Natural) return Terminal_Event
Parameters
Width
Height
Return value

Terminal_Event

type Terminal_Event
  (Kind : Terminal_Event_Kind := Interrupt)
is record
   case Kind is
      when Key_Press | Key_Release =>
         Key : Key_Event;
      when Paste =>
         Pasted_Text : Text.Unbounded_Wide_Wide_String;
      when Resize =>
         Width  : Natural := 0;
         Height : Natural := 0;
      when Mouse_Input =>
         Mouse : Mouse_Event;
      when Tick =>
         At_Time : Ada.Real_Time.Time := Ada.Real_Time.Time_First;
      when Focus_Gained | Focus_Lost | Interrupt =>
         null;
   end case;
end record;
Record fields
Kind
Key
Pasted_Text
Width
Height
Mouse
At_Time

Terminal_Event_Kind

type Terminal_Event_Kind is
  (Key_Press,
   Key_Release,
   Paste,
   Resize,
   Mouse_Input,
   Focus_Gained,
   Focus_Lost,
   Tick,
   Interrupt);
Enumeration literals
Key_Press
Key_Release
Paste
Resize
Mouse_Input
Focus_Gained
Focus_Lost
Tick
Interrupt