sig
exception Event_exn of string
type active_state = MOUSEFOCUS | INPUTFOCUS | APPACTIVE
external get_app_state : unit -> Sdlevent.active_state list
= "mlsdlevent_get_app_state"
type active_event = { gain : bool; ae_state : Sdlevent.active_state list; }
type switch_state = RELEASED | PRESSED
type keyboard_event = {
ke_which : int;
ke_state : Sdlevent.switch_state;
keysym : Sdlkey.t;
keymod : Sdlkey.mod_state;
keycode : char;
unicode : int;
}
type mousemotion_event = {
mme_which : int;
mme_state : Sdlmouse.button list;
mme_x : int;
mme_y : int;
mme_xrel : int;
mme_yrel : int;
}
type mousebutton_event = {
mbe_which : int;
mbe_button : Sdlmouse.button;
mbe_state : Sdlevent.switch_state;
mbe_x : int;
mbe_y : int;
}
type joyaxis_event = { jae_which : int; jae_axis : int; jae_value : int; }
type joyball_event = {
jle_which : int;
jle_ball : int;
jle_xrel : int;
jle_yrel : int;
}
type joyhat_event = { jhe_which : int; jhe_hat : int; jhe_value : int; }
type joybutton_event = {
jbe_which : int;
jbe_button : int;
jbe_state : Sdlevent.switch_state;
}
type event =
ACTIVE of Sdlevent.active_event
| KEYDOWN of Sdlevent.keyboard_event
| KEYUP of Sdlevent.keyboard_event
| MOUSEMOTION of Sdlevent.mousemotion_event
| MOUSEBUTTONDOWN of Sdlevent.mousebutton_event
| MOUSEBUTTONUP of Sdlevent.mousebutton_event
| JOYAXISMOTION of Sdlevent.joyaxis_event
| JOYBALLMOTION of Sdlevent.joyball_event
| JOYHATMOTION of Sdlevent.joyhat_event
| JOYBUTTONDOWN of Sdlevent.joybutton_event
| JOYBUTTONUP of Sdlevent.joybutton_event
| QUIT
| SYSWM
| VIDEORESIZE of int * int
| VIDEOEXPOSE
| USER of int
val string_of_event : Sdlevent.event -> string
type event_mask = int
val active_mask : Sdlevent.event_mask
val keydown_mask : Sdlevent.event_mask
val keyup_mask : Sdlevent.event_mask
val mousemotion_mask : Sdlevent.event_mask
val mousebuttondown_mask : Sdlevent.event_mask
val mousebuttonup_mask : Sdlevent.event_mask
val joyaxismotion_mask : Sdlevent.event_mask
val joyballmotion_mask : Sdlevent.event_mask
val joyhatmotion_mask : Sdlevent.event_mask
val joybuttondown_mask : Sdlevent.event_mask
val joybuttonup_mask : Sdlevent.event_mask
val quit_mask : Sdlevent.event_mask
val syswmevent_mask : Sdlevent.event_mask
val videoresize_mask : Sdlevent.event_mask
val videoexpose_mask : Sdlevent.event_mask
val userevent_mask : Sdlevent.event_mask
val keyboard_event_mask : Sdlevent.event_mask
val mouse_event_mask : Sdlevent.event_mask
val joystick_event_mask : Sdlevent.event_mask
val all_events_mask : Sdlevent.event_mask
type event_kind =
ACTIVE_EVENT
| KEYDOWN_EVENT
| KEYUP_EVENT
| MOUSEMOTION_EVENT
| MOUSEBUTTONDOWN_EVENT
| MOUSEBUTTONUP_EVENT
| JOYAXISMOTION_EVENT
| JOYBALL_EVENT
| JOYHAT_EVENT
| JOYBUTTONDOWN_EVENT
| JOYBUTTONUP_EVENT
| QUIT_EVENT
| SYSWM_EVENT
| RESIZE_EVENT
| EXPOSE_EVENT
| USER_EVENT
val make_mask : Sdlevent.event_kind list -> Sdlevent.event_mask
val of_mask : Sdlevent.event_mask -> Sdlevent.event_kind list
val enable_events : Sdlevent.event_mask -> unit
val disable_events : Sdlevent.event_mask -> unit
external get_enabled_events : unit -> Sdlevent.event_mask
= "mlsdlevent_get_enabled"
external get_state : Sdlevent.event_kind -> bool = "mlsdlevent_get_state"
external set_state : bool -> Sdlevent.event_kind -> unit
= "mlsdlevent_set_state"
val pump : unit -> unit
val wait_event : unit -> Sdlevent.event
external wait : unit -> unit = "mlsdlevent_wait"
val poll : unit -> Sdlevent.event option
external has_event : unit -> bool = "mlsdlevent_has_event"
external peek : ?mask:Sdlevent.event_mask -> int -> Sdlevent.event list
= "mlsdlevent_peek"
external get : ?mask:Sdlevent.event_mask -> int -> Sdlevent.event list
= "mlsdlevent_get"
external add : Sdlevent.event list -> unit = "mlsdlevent_add"
module Old :
sig
type keyboard_event_func =
Sdlkey.t -> Sdlevent.switch_state -> int -> int -> unit
type mouse_event_func =
Sdlmouse.button -> Sdlevent.switch_state -> int -> int -> unit
type mousemotion_event_func = int -> int -> unit
type idle_event_func = unit -> unit
type resize_event_func = int -> int -> unit
val set_keyboard_event_func : Sdlevent.Old.keyboard_event_func -> unit
val set_mouse_event_func : Sdlevent.Old.mouse_event_func -> unit
val set_mousemotion_event_func :
Sdlevent.Old.mousemotion_event_func -> unit
val set_idle_event_func : Sdlevent.Old.idle_event_func -> unit
val set_resize_event_func : Sdlevent.Old.resize_event_func -> unit
val start_event_loop : unit -> unit
val exit_event_loop : unit -> unit
end
val link_me : unit
end