type Command is ( go_forward, go_backwards, go_graduated, slide_left, slide_right, slide_lateral_graduated, turn_left, turn_right, turn_lateral_graduated, slide_up, slide_down, slide_vertical_graduated, turn_up, turn_down, turn_vertical_graduated, run_mode, ctrl_mode, -- "shoot", but useless with GLUT slide_mode, swing_plus, swing_minus, jump, special_plus, special_minus, photo, video, toggle_10, interrupt_game, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, -- numeric keys bogus_command -- a control can be directed on this );
type Command_set is array (Command) of Boolean;
no_command : constant Command_set := (others => False);
procedure Append_Commands
( | size_x, size_y | : Integer; |
-- screen dimensions for mouse warp_mouse | : Boolean; | |
-- recenter mouse cursor c | : in out Game_Control.Command_set; | |
-- commands are added to c gx, gy | : out GL.Double; | |
-- mouse movement since last call Keyboard | : access GLUT.Devices.Keyboard := GLUT.Devices.default_Keyboard'Access; | |
Mouse | : access GLUT.Devices.Mouse := GLUT.Devices.default_Mouse'Access); |