((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/allegro" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.") (tags "allegro" "game")) (section 2 "allegro" (p "This document pertains to event related items found in the Allegro egg.") (p "Please see the main [allegro] wiki page for more information.") (toc)) (section 2 "Enums" (section 3 "event-type" (def (sig (procedure "(event-type->int event-type)" (id event-type->int))) (p (tt "event-type") " may be one of the following symbols:") (ul (li "joystick-axis") (li "joystick-button-down") (li "joystick-button-up") (li "joystick-configuration") (li "key-down") (li "key-char") (li "key-up") (li "mouse-axes") (li "mouse-button-down") (li "mouse-button-up") (li "mouse-enter-display") (li "mouse-leave-display") (li "mouse-warped") (li "timer") (li "display-expose") (li "display-resize") (li "display-close") (li "display-lost") (li "display-found") (li "display-switch-in") (li "display-switch-out") (li "display-orientation") (li "audio-stream-fragment") (li "audio-stream-finished"))) (def (sig (procedure "(int->event-type integer)" (id int->event-type)))))) (section 2 "Records" (section 3 "any-event" (def (sig (record "any-event" (id any-event)) (procedure "(any-event-type any-event)" (id any-event-type)) (procedure "(any-event-source any-event)" (id any-event-source)) (procedure "(any-event-timestamp any-event)" (id any-event-timestamp))))) (section 3 "display-event" (def (sig (record "display-event" (id display-event)) (procedure "(display-event-type display-event)" (id display-event-type)) (procedure "(display-event-source display-event)" (id display-event-source)) (procedure "(display-event-timestamp display-event)" (id display-event-timestamp)) (procedure "(display-event-x display-event)" (id display-event-x)) (procedure "(display-event-y display-event)" (id display-event-y)) (procedure "(display-event-width display-event)" (id display-event-width)) (procedure "(display-event-height display-event)" (id display-event-height)) (procedure "(display-event-orientation display-event)" (id display-event-orientation))))) (section 3 "event" (def (sig (record "event" (id event)) (procedure "(make-event)" (id make-event)) (procedure "(make-event*)" (id make-event*)) (procedure "(free-event! event)" (id free-event!))))) (section 3 "event-source" (def (sig (record "event-source" (id event-source))))) (section 3 "event-queue" (def (sig (record "event-queue" (id event-queue))))) (section 3 "joystick-event" (def (sig (record "joystick-event" (id joystick-event)) (procedure "(joystick-event-type joystick-event)" (id joystick-event-type)) (procedure "(joystick-event-source joystick-event)" (id joystick-event-source)) (procedure "(joystick-event-timestamp joystick-event)" (id joystick-event-timestamp)) (procedure "(joystick-event-id joystick-event)" (id joystick-event-id)) (procedure "(joystick-event-stick joystick-event)" (id joystick-event-stick)) (procedure "(joystick-event-axis joystick-event)" (id joystick-event-axis)) (procedure "(joystick-event-position joystick-event)" (id joystick-event-position)) (procedure "(joystick-event-button joystick-event)" (id joystick-event-button))))) (section 3 "keyboard-event" (def (sig (record "keyboard-event" (id keyboard-event)) (procedure "(keyboard-event-type keyboard-event)" (id keyboard-event-type)) (procedure "(keyboard-event-source keyboard-event)" (id keyboard-event-source)) (procedure "(keyboard-event-timestamp keyboard-event)" (id keyboard-event-timestamp)) (procedure "(keyboard-event-display keyboard-event)" (id keyboard-event-display)) (procedure "(keyboard-event-keycode keyboard-event)" (id keyboard-event-keycode)) (procedure "(keyboard-event-unichar keyboard-event)" (id keyboard-event-unichar)) (procedure "(keyboard-event-modifiers keyboard-event)" (id keyboard-event-modifiers)) (procedure "(keyboard-event-repeat keyboard-event)" (id keyboard-event-repeat))))) (section 3 "mouse-event" (def (sig (record "mouse-event" (id mouse-event)) (procedure "(mouse-event-type mouse-event)" (id mouse-event-type)) (procedure "(mouse-event-source mouse-event)" (id mouse-event-source)) (procedure "(mouse-event-timestamp mouse-event)" (id mouse-event-timestamp)) (procedure "(mouse-event-display mouse-event)" (id mouse-event-display)) (procedure "(mouse-event-x mouse-event)" (id mouse-event-x)) (procedure "(mouse-event-y mouse-event)" (id mouse-event-y)) (procedure "(mouse-event-z mouse-event)" (id mouse-event-z)) (procedure "(mouse-event-w mouse-event)" (id mouse-event-w)) (procedure "(mouse-event-dx mouse-event)" (id mouse-event-dx)) (procedure "(mouse-event-dy mouse-event)" (id mouse-event-dy)) (procedure "(mouse-event-dz mouse-event)" (id mouse-event-dz)) (procedure "(mouse-event-dw mouse-event)" (id mouse-event-dw)) (procedure "(mouse-event-button mouse-event)" (id mouse-event-button)) (procedure "(mouse-event-pressure mouse-event)" (id mouse-event-pressure))))) (section 3 "timer-event" (def (sig (record "timer-event" (id timer-event)) (procedure "(timer-event-type timer-event)" (id timer-event-type)) (procedure "(timer-event-source timer-event)" (id timer-event-source)) (procedure "(timer-event-timestamp timer-event)" (id timer-event-timestamp)) (procedure "(timer-event-count timer-event)" (id timer-event-count)) (procedure "(timer-event-error timer-event)" (id timer-event-error))))) (section 3 "user-event" (def (sig (record "user-event" (id user-event)) (procedure "(user-event-type user-event)" (id user-event-type)) (procedure "(user-event-source user-event)" (id user-event-source)) (procedure "(user-event-timestamp user-event)" (id user-event-timestamp)) (procedure "(user-event-data1 user-event)" (id user-event-data1)) (setter "(user-event-data1-set! user-event integer)" (id user-event-data1-set!)) (procedure "(user-event-data2 user-event)" (id user-event-data2)) (setter "(user-event-data2-set! user-event integer)" (id user-event-data2-set!)) (procedure "(user-event-data3 user-event)" (id user-event-data3)) (setter "(user-event-data3-set! user-event integer)" (id user-event-data3-set!)) (procedure "(user-event-data4 user-event)" (id user-event-data4)) (setter "(user-event-data4-set! user-event integer)" (id user-event-data4-set!)))))) (section 2 "Functions" (def (sig (procedure "(user-event-type? integer)" (id user-event-type?))) (p "Implements ALLEGRO_EVENT_TYPE_IS_USER.")) (def (sig (procedure "(make-event-type (integer a) (integer b) (integer c) (integer d))" (id make-event-type))) (p "Implements ALLEGRO_GET_EVENT_TYPE.")) (def (sig (procedure "(event-type event)" (id event-type))) (p "Returns the type of a given event struct.")) (def (sig (procedure "(event->any-event event)" (id event->any-event))) (p "Converts an event to an any-event.")) (def (sig (procedure "(event->display-event event)" (id event->display-event))) (p "Converts an event to a display-event.")) (def (sig (procedure "(event->joystick-event event)" (id event->joystick-event))) (p "Converts an event to a joystick-event.")) (def (sig (procedure "(event->keyboard-event event)" (id event->keyboard-event))) (p "Converts an event to a keyboard-event.")) (def (sig (procedure "(event->mouse-event event)" (id event->mouse-event))) (p "Converts an event to a mouse-event.")) (def (sig (procedure "(event->timer-event event)" (id event->timer-event))) (p "Converts an event to a timer-event.")) (def (sig (procedure "(event->user-event event)" (id event->user-event))) (p "Converts an event to a user-event.")) (def (sig (procedure "(user-event-source-init! event-source)" (id user-event-source-init!))) (p "Implements al_init_user_event_source.")) (def (sig (procedure "(free-user-event-source! event-source)" (id free-user-event-source!))) (p "Implements al_destroy_user_event_source.")) (def (sig (procedure "(emit-user-event! event-source event (function void (user-event)))" (id emit-user-event!))) (p "Implements al_emit_user_event.")) (def (sig (procedure "(user-event-unref! user-event)" (id user-event-unref!))) (p "Implements al_unref_user_event.")) (def (sig (procedure "(event-source-data event-source)" (id event-source-data))) (p "Implements al_get_event_source_data.")) (def (sig (procedure "(event-source-data-set! event-source integer)" (id event-source-data-set!))) (p "Implements al_set_event_source_data.")) (def (sig (procedure "(make-event-queue*)" (id make-event-queue*))) (p "Implements al_create_event_queue.")) (def (sig (procedure "(make-event-queue)" (id make-event-queue))) (p "Implements al_create_event_queue, with (free-event-queue!) declared as a finalizer.")) (def (sig (procedure "(free-event-queue! event-queue)" (id free-event-queue!))) (p "Implements al_destroy_event_queue.")) (def (sig (procedure "(event-queue-register-source! event-queue event-source)" (id event-queue-register-source!))) (p "Implements al_register_event_source.")) (def (sig (procedure "(event-queue-unregister-source! event-queue event-source)" (id event-queue-unregister-source!))) (p "Implements al_unregister_event_source.")) (def (sig (procedure "(event-queue-empty? event-queue)" (id event-queue-empty?))) (p "Implements al_is_event_queue_empty.")) (def (sig (procedure "(event-queue-next! event-queue event)" (id event-queue-next!))) (p "Implements al_get_next_event.")) (def (sig (procedure "(event-queue-peek! event-queue event)" (id event-queue-peek!))) (p "Implements al_peek_next_event.")) (def (sig (procedure "(event-queue-drop-next! event-queue)" (id event-queue-drop-next!))) (p "Implements al_drop_next_event_queue.")) (def (sig (procedure "(event-queue-flush! event-queue)" (id event-queue-flush!))) (p "Implements al_drop_next_event.")) (def (sig (procedure "(event-queue-wait! event-queue event)" (id event-queue-wait!))) (p "Implements al_wait_for_event.")) (def (sig (procedure "(event-queue-timed-wait! event-queue event float)" (id event-queue-timed-wait!))) (p "Implements al_wait_for_event_timed.")) (def (sig (procedure "(event-queue-wait-until! event-queue event timeout)" (id event-queue-wait-until!))) (p "Implements al_wait_for_event_until."))))