X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fvideo.scm;h=7dd433dc65b5d4b45dc71f91ac703b1b89d56fb8;hb=fc3be36ca8e29c32e1758ae99c9982aa287d8920;hp=f0f56a3871235237718497b5c104d01a5b2248c8;hpb=0c1a3f2b2c43965ee045b21ca4791e7ad93348ff;p=guile-irrlicht.git diff --git a/irrlicht/video.scm b/irrlicht/video.scm index f0f56a3..7dd433d 100644 --- a/irrlicht/video.scm +++ b/irrlicht/video.scm @@ -20,26 +20,50 @@ (define-module (irrlicht video) #:use-module (oop goops) + #:use-module (ice-9 optargs) #:use-module (irrlicht base) #:use-module (irrlicht foreign)) ;; ITexture (define-class () - (irr-class #:init-value "ITexture" #:getter irr-class)) + (irr-class #:init-value "ITexture")) (export ) ;; IVideoDriver (define-class () - (irr-class #:init-value "IVideoDriver" #:getter irr-class)) + (irr-class #:init-value "IVideoDriver")) + +(define-method (begin-scene (video-driver ) . rest) + (let-keywords rest #f + ((back-buffer #t) + (z-buffer #t) + (color '(255 0 0 0)) + video-data + source-rect) + ((get-irrlicht-proc "beginScene" video-driver) + video-driver + back-buffer + z-buffer + color + video-data + source-rect))) + +(define-method (end-scene (video-driver )) + ((get-irrlicht-proc "endScene" video-driver) + video-driver)) + +(define-method (get-name (video-driver )) + (let ((getName (get-irrlicht-proc "getName" video-driver))) + (getName video-driver))) (define-method (get-texture (video-driver ) filename) (make #:irr-pointer ((get-irrlicht-proc "getTexture" video-driver) - (irr-pointer video-driver) + video-driver filename))) -(export get-texture) +(export begin-scene end-scene get-name get-texture)