X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Firr.scm;h=f220cdf094b3df50a6946cc2ddbddd4075499fca;hb=32d4067d4c588913bbd5ec4450f2f859af789942;hp=2c883583d341008a4e814631d53fd66094d33d2f;hpb=2cb9ebb90bdf488128d5443f0e26ae22cd41d3fa;p=guile-irrlicht.git diff --git a/irrlicht/irr.scm b/irrlicht/irr.scm index 2c88358..f220cdf 100644 --- a/irrlicht/irr.scm +++ b/irrlicht/irr.scm @@ -35,11 +35,43 @@ (export drop!) +;; SEvent +(define-class () + (irr-class #:init-value "SEvent")) + +(define-method (get-event-gui-caller (event )) + (let ((SGUIEvent_Caller (get-irrlicht-proc "SGUIEvent_Caller" event))) + (remember-wrapped (SGUIEvent_Caller event)))) + +(define-method (get-event-gui-type (event )) + (let ((SGUIEvent_EventType (get-irrlicht-proc "SGUIEvent_EventType" event))) + (SGUIEvent_EventType event))) + +(define-method (get-event-key (event )) + (let ((SKeyInput_Key (get-irrlicht-proc "SKeyInput_Key" event))) + (SKeyInput_Key event))) + +(define-method (get-event-key-pressed (event )) + (let ((SKeyInput_PressedDown (get-irrlicht-proc "SKeyInput_PressedDown" event))) + (SKeyInput_PressedDown event))) + +(define-method (get-event-type (event )) + (let ((EventType (get-irrlicht-proc "EventType" event))) + (EventType event))) + +(export get-event-gui-caller get-event-gui-type get-event-key get-event-key-pressed + get-event-type) + + ;; IEventReceiver (define-class () (irr-class #:init-value "IEventReceiver")) -(export ) +(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 @@ -47,3 +79,14 @@ (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 get-time)