X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Firr.scm;h=037b459edcd667d1360b63287f3fe3d994dc34b0;hb=ce7e819e40265f68560c3a6cf309d259c2a77910;hp=16cbf0de69c5c22608529b2f63a35f46a9b08df3;hpb=6bcbb2cefb0e69afae9b1de828b85f506b1bef19;p=guile-irrlicht.git diff --git a/irrlicht/irr.scm b/irrlicht/irr.scm index 16cbf0d..037b459 100644 --- a/irrlicht/irr.scm +++ b/irrlicht/irr.scm @@ -26,17 +26,58 @@ ;; IReferenceCounted (define-class () - (irr-class #:init-value "IReferenceCounted" #:getter irr-class)) + (irr-class #:init-value "IReferenceCounted")) (define-method (drop! (obj )) - ((get-irrlicht-proc "drop" obj) - (irr-pointer obj))) + (let ((drop (get-irrlicht-proc "drop" obj))) + (drop obj))) (export drop!) +;; SEvent +(define-class () + (irr-class #:init-value "SEvent")) + +(define-method (get-event-key (event )) + (let ((SEvent_SKeyInput_Key (get-irrlicht-proc "SKeyInput_Key" event))) + (SEvent_SKeyInput_Key event))) + +(define-method (get-event-key-pressed (event )) + (let ((SEvent_SKeyInput_PressedDown (get-irrlicht-proc "SKeyInput_PressedDown" event))) + (SEvent_SKeyInput_PressedDown event))) + +(define-method (get-event-type (event )) + (let ((SEvent_EventType (get-irrlicht-proc "EventType" event))) + (SEvent_EventType event))) + +(export get-event-key get-event-key-pressed get-event-type) + + ;; IEventReceiver (define-class () - (irr-class #:init-value "IEventReceiver" #:getter irr-class)) + (irr-class #:init-value "IEventReceiver")) + +(define (make-event-receiver proc-on-event) + (let ((IEventReceiver_make (get-irrlicht-proc "IEventReceiver_make"))) + (IEventReceiver_make proc-on-event))) + +(export make-event-receiver) + + +;; SKeyMap +(define-class () + (irr-class #:init-value "SKeyMap")) + +(export ) + + +;; ITimer +(define-class () + (irr-class #:init-value "ITimer")) + +(define-method (get-time (timer )) + (let ((getTime (get-irrlicht-proc "getTime" timer))) + (getTime timer))) -(export ) +(export get-time)