(let* ((createDevice (get-irrlicht-proc "createDevice"))
(device (createDevice device-type window-size bits fullscreen stencilbuffer
vsync receiver)))
- (cond ((null-object? device)
- (error "In procedure create-device: Device cannot be created"))
- (else
- device))))
+ (if (null-object? device)
+ (error "In procedure create-device: Device cannot be created")
+ device)))
(define-method (get-cursor-control (device <irrlicht-device>))
(let ((getCursorControl (get-irrlicht-proc "getCursorControl" device)))
(getTimer device)))
(define-method (get-video-driver (device <irrlicht-device>))
- (let ((getVideoDriver (get-irrlicht-proc "getVideoDriver" device)))
- (getVideoDriver device)))
+ (let* ((getVideoDriver (get-irrlicht-proc "getVideoDriver" device))
+ (driver (getVideoDriver device)))
+ (if (null-object? driver)
+ (error "In procedure get-video-driver: Driver cannot be created")
+ driver)))
(define-method (is-window-active? (device <irrlicht-device>))
(let ((isWindowActive (get-irrlicht-proc "isWindowActive" device)))
(define-method (run (device <irrlicht-device>))
((get-irrlicht-proc "run" device) device))
+(define-method (set-event-receiver! (device <irrlicht-device>) (receiver <event-receiver>))
+ (let ((setEventReceiver (get-irrlicht-proc "setEventReceiver" device receiver)))
+ (setEventReceiver device receiver)))
+
(define-method (set-resizable! (device <irrlicht-device>) resize)
(let ((setResizable (get-irrlicht-proc "setResizable" device)))
(setResizable device resize)))
(yield device)))
(export <irrlicht-device> create-device get-cursor-control get-file-system get-gui-environment
- get-scene-manager get-timer get-video-driver is-window-active? run set-resizable!
- set-window-caption! yield-device)
+ get-scene-manager get-timer get-video-driver is-window-active? run set-event-receiver!
+ set-resizable! set-window-caption! yield-device)