Is this correct? added by C-Keen on Tue Nov 1 10:49:15 2011
(define-record sdl-event buffer) (let ((maker make-sdl-event)) (set! make-sdl-event (lambda () (let ((bv (blob->u8vector (make-blob sizeof-sdl-event)))) (u8vector-set! bv 0 SDL_NOEVENT) (maker (u8vector->blob bv)))))) (define-record-printer (sdl-event s out) (for-each (lambda (x) (display x out)) (list "#<sdl-event "(sdl-event-type s)">"))) (define (-sdl-unbox-event e) (let ((p (##sys#make-pointer))) (##core#inline "C_pointer_to_block" p (sdl-event-buffer e)) p)) (define-foreign-type SDL_Event (c-pointer "SDL_Event") -sdl-unbox-event)