type Key_set is array (Character) of Boolean;
type Modifier_set is array (GLUT.Active_Shift .. GLUT.Active_Alt) of Boolean;
type Special_key_set is array (1 .. 128) of Boolean;
type Keyboard is record normal_set : Key_set := (others => False); normal_set_mem : Key_set := (others => False); modif_set : Devices.Modifier_set := (others => False); special_set : Devices.Special_set := (others => False); special_set_mem : Devices.Special_key_set := (others => False); end record;
type p_Keyboard is access all Keyboard;
type mouse_button_Set is array (GLUT.LEFT_BUTTON .. GLUT.RIGHT_BUTTON) of Boolean;
type Mouse is record oldx, oldy, mx, my : Integer := 0; button_state : mouse_button_Set := (others => False); end record;
type p_Mouse is access all Mouse;
default_Keyboard : aliased Keyboard;
default_Mouse : aliased Mouse;
procedure Initialize;
function Strike_once
( | c | : Character; |
kb | : access Keyboard := default_Keyboard'Access) return Boolean; |
function Strike_once
( | special | : Integer; |
kb | : access Keyboard := default_Keyboard'Access) return Boolean; |