sig   type 'b field   val create : unit -> Tsdl.Sdl.event   val get : Tsdl.Sdl.event -> 'Tsdl.Sdl.Event.field -> 'b   val set : Tsdl.Sdl.event -> 'Tsdl.Sdl.Event.field -> '-> unit   val first_event : Tsdl.Sdl.event_type   val last_event : Tsdl.Sdl.event_type   val typ : Tsdl.Sdl.event_type Tsdl.Sdl.Event.field   val timestamp : Tsdl.Sdl.uint32 Tsdl.Sdl.Event.field   val app_did_enter_background : Tsdl.Sdl.event_type   val app_did_enter_foreground : Tsdl.Sdl.event_type   val app_low_memory : Tsdl.Sdl.event_type   val app_terminating : Tsdl.Sdl.event_type   val app_will_enter_background : Tsdl.Sdl.event_type   val app_will_enter_foreground : Tsdl.Sdl.event_type   val clipboard_update : Tsdl.Sdl.event_type   val controller_axis_motion : Tsdl.Sdl.event_type   val controller_button_down : Tsdl.Sdl.event_type   val controller_button_up : Tsdl.Sdl.event_type   val controller_device_added : Tsdl.Sdl.event_type   val controller_device_remapped : Tsdl.Sdl.event_type   val controller_device_removed : Tsdl.Sdl.event_type   val controller_axis_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val controller_axis_axis : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val controller_axis_value : Tsdl.Sdl.int16 Tsdl.Sdl.Event.field   val controller_button_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val controller_button_button : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val controller_button_state : Tsdl.Sdl.button_state Tsdl.Sdl.Event.field   val controller_device_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val dollar_gesture : Tsdl.Sdl.event_type   val dollar_record : Tsdl.Sdl.event_type   val dollar_gesture_touch_id : Tsdl.Sdl.touch_id Tsdl.Sdl.Event.field   val dollar_gesture_gesture_id : Tsdl.Sdl.gesture_id Tsdl.Sdl.Event.field   val dollar_gesture_num_fingers : int Tsdl.Sdl.Event.field   val dollar_gesture_error : float Tsdl.Sdl.Event.field   val dollar_gesture_x : float Tsdl.Sdl.Event.field   val dollar_gesture_y : float Tsdl.Sdl.Event.field   val drop_file : Tsdl.Sdl.event_type   val drop_file_free : Tsdl.Sdl.event -> unit   val drop_file_file : Tsdl.Sdl.event -> string   val finger_down : Tsdl.Sdl.event_type   val finger_motion : Tsdl.Sdl.event_type   val finger_up : Tsdl.Sdl.event_type   val touch_finger_touch_id : Tsdl.Sdl.touch_id Tsdl.Sdl.Event.field   val touch_finger_finger_id : Tsdl.Sdl.finger_id Tsdl.Sdl.Event.field   val touch_finger_x : float Tsdl.Sdl.Event.field   val touch_finger_y : float Tsdl.Sdl.Event.field   val touch_finger_dx : float Tsdl.Sdl.Event.field   val touch_finger_dy : float Tsdl.Sdl.Event.field   val touch_finger_pressure : float Tsdl.Sdl.Event.field   val joy_axis_motion : Tsdl.Sdl.event_type   val joy_ball_motion : Tsdl.Sdl.event_type   val joy_button_down : Tsdl.Sdl.event_type   val joy_button_up : Tsdl.Sdl.event_type   val joy_device_added : Tsdl.Sdl.event_type   val joy_device_removed : Tsdl.Sdl.event_type   val joy_hat_motion : Tsdl.Sdl.event_type   val joy_axis_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val joy_axis_axis : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val joy_axis_value : Tsdl.Sdl.int16 Tsdl.Sdl.Event.field   val joy_ball_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val joy_ball_ball : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val joy_ball_xrel : int Tsdl.Sdl.Event.field   val joy_ball_yrel : int Tsdl.Sdl.Event.field   val joy_button_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val joy_button_button : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val joy_button_state : Tsdl.Sdl.button_state Tsdl.Sdl.Event.field   val joy_device_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val joy_hat_which : Tsdl.Sdl.joystick_id Tsdl.Sdl.Event.field   val joy_hat_hat : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val joy_hat_value : Tsdl.Sdl.Hat.t Tsdl.Sdl.Event.field   val key_down : Tsdl.Sdl.event_type   val key_up : Tsdl.Sdl.event_type   val keyboard_window_id : int Tsdl.Sdl.Event.field   val keyboard_state : Tsdl.Sdl.button_state Tsdl.Sdl.Event.field   val keyboard_repeat : int Tsdl.Sdl.Event.field   val keyboard_scancode : Tsdl.Sdl.scancode Tsdl.Sdl.Event.field   val keyboard_keycode : Tsdl.Sdl.keycode Tsdl.Sdl.Event.field   val keyboard_keymod : Tsdl.Sdl.keymod Tsdl.Sdl.Event.field   val mouse_button_down : Tsdl.Sdl.event_type   val mouse_button_up : Tsdl.Sdl.event_type   val mouse_motion : Tsdl.Sdl.event_type   val mouse_wheel : Tsdl.Sdl.event_type   val mouse_button_window_id : int Tsdl.Sdl.Event.field   val mouse_button_which : Tsdl.Sdl.uint32 Tsdl.Sdl.Event.field   val mouse_button_button : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val mouse_button_state : Tsdl.Sdl.button_state Tsdl.Sdl.Event.field   val mouse_button_clicks : Tsdl.Sdl.uint8 Tsdl.Sdl.Event.field   val mouse_button_x : int Tsdl.Sdl.Event.field   val mouse_button_y : int Tsdl.Sdl.Event.field   val mouse_motion_window_id : int Tsdl.Sdl.Event.field   val mouse_motion_which : Tsdl.Sdl.uint32 Tsdl.Sdl.Event.field   val mouse_motion_state : Tsdl.Sdl.uint32 Tsdl.Sdl.Event.field   val mouse_motion_x : int Tsdl.Sdl.Event.field   val mouse_motion_y : int Tsdl.Sdl.Event.field   val mouse_motion_xrel : int Tsdl.Sdl.Event.field   val mouse_motion_yrel : int Tsdl.Sdl.Event.field   val mouse_wheel_window_id : int Tsdl.Sdl.Event.field   val mouse_wheel_which : Tsdl.Sdl.uint32 Tsdl.Sdl.Event.field   val mouse_wheel_x : int Tsdl.Sdl.Event.field   val mouse_wheel_y : int Tsdl.Sdl.Event.field   val multi_gesture : Tsdl.Sdl.event_type   val multi_gesture_touch_id : Tsdl.Sdl.touch_id Tsdl.Sdl.Event.field   val multi_gesture_dtheta : float Tsdl.Sdl.Event.field   val multi_gesture_ddist : float Tsdl.Sdl.Event.field   val multi_gesture_x : float Tsdl.Sdl.Event.field   val multi_gesture_y : float Tsdl.Sdl.Event.field   val multi_gesture_num_fingers : int Tsdl.Sdl.Event.field   val quit : Tsdl.Sdl.event_type   val sys_wm_event : Tsdl.Sdl.event_type   val text_editing : Tsdl.Sdl.event_type   val text_input : Tsdl.Sdl.event_type   val text_editing_window_id : int Tsdl.Sdl.Event.field   val text_editing_text : string Tsdl.Sdl.Event.field   val text_editing_start : int Tsdl.Sdl.Event.field   val text_editing_length : int Tsdl.Sdl.Event.field   val text_input_window_id : int Tsdl.Sdl.Event.field   val text_input_text : string Tsdl.Sdl.Event.field   val user_event : Tsdl.Sdl.event_type   val user_window_id : int Tsdl.Sdl.Event.field   val user_code : int Tsdl.Sdl.Event.field   val window_event : Tsdl.Sdl.event_type   type window_event_id = int   val window_event_enum :     Tsdl.Sdl.Event.window_event_id ->     [ `Close     | `Enter     | `Exposed     | `Focus_gained     | `Focus_lost     | `Hidden     | `Leave     | `Maximized     | `Minimized     | `Moved     | `Resized     | `Restored     | `Shown     | `Size_changed ]   val window_event_shown : Tsdl.Sdl.Event.window_event_id   val window_event_hidden : Tsdl.Sdl.Event.window_event_id   val window_event_exposed : Tsdl.Sdl.Event.window_event_id   val window_event_moved : Tsdl.Sdl.Event.window_event_id   val window_event_resized : Tsdl.Sdl.Event.window_event_id   val window_event_size_changed : Tsdl.Sdl.Event.window_event_id   val window_event_minimized : Tsdl.Sdl.Event.window_event_id   val window_event_maximized : Tsdl.Sdl.Event.window_event_id   val window_event_restored : Tsdl.Sdl.Event.window_event_id   val window_event_enter : Tsdl.Sdl.Event.window_event_id   val window_event_leave : Tsdl.Sdl.Event.window_event_id   val window_event_focus_gained : Tsdl.Sdl.Event.window_event_id   val window_event_focus_lost : Tsdl.Sdl.Event.window_event_id   val window_event_close : Tsdl.Sdl.Event.window_event_id   val window_window_id : int Tsdl.Sdl.Event.field   val window_event_id : Tsdl.Sdl.Event.window_event_id Tsdl.Sdl.Event.field   val window_data1 : int32 Tsdl.Sdl.Event.field   val window_data2 : int32 Tsdl.Sdl.Event.field   val enum :     Tsdl.Sdl.event_type ->     [ `App_did_enter_background     | `App_did_enter_foreground     | `App_low_memory     | `App_terminating     | `App_will_enter_background     | `App_will_enter_foreground     | `Clipboard_update     | `Controller_axis_motion     | `Controller_button_down     | `Controller_button_up     | `Controller_device_added     | `Controller_device_remapped     | `Controller_device_removed     | `Dollar_gesture     | `Dollar_record     | `Drop_file     | `Finger_down     | `Finger_motion     | `Finger_up     | `Joy_axis_motion     | `Joy_ball_motion     | `Joy_button_down     | `Joy_button_up     | `Joy_device_added     | `Joy_device_removed     | `Joy_hat_motion     | `Key_down     | `Key_up     | `Mouse_button_down     | `Mouse_button_up     | `Mouse_motion     | `Mouse_wheel     | `Multi_gesture     | `Quit     | `Sys_wm_event     | `Text_editing     | `Text_input     | `Unknown     | `User_event     | `Window_event ] end