module Event: sig .. end
Interface to GUI events (mouse, keyboard, timer). An example of
listening for key events:
open FatCaml.Application
let event_dispatcher = display_singleton#event_dispatcher in
let listener = new object
inherit Event.keyboard_listener
method key_pressed e =
if e.Sdlevent.keysym = Sdlkey.KEY_SPACE then
print_endline "Space key pressed!"
else
print_endline "A key other than space was pressed!"
method key_release _ =
print_endline "Key released!"
end
in event_dispatcher#key#affect listener
Remember, if you have additional methods in your listener you must cast it
to a keyboard_listener like so:
in event_dispatcher#key#affect (listener :> keyboard_listener)
class virtual frame_listener : object .. end
class virtual mouse_listener : object .. end
class virtual keyboard_listener : object .. end
class event_dispatcher : object .. end
Dispatches events to event listeners.