X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fvideo.scm;h=1fa6d640ded684f9ba3aa833376509180e6bcad5;hb=875fe9360ac8c12c78a4dc1a7d6549e5900cb402;hp=d3b6f8accfe9af0d7497970ec33a84889f7df71d;hpb=f842432ad7cfd7f530188e2a4848aea3da03719e;p=guile-irrlicht.git diff --git a/irrlicht/video.scm b/irrlicht/video.scm index d3b6f8a..1fa6d64 100644 --- a/irrlicht/video.scm +++ b/irrlicht/video.scm @@ -20,11 +20,54 @@ (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")) + +(export ) + + ;; IVideoDriver -(define-class ()) +(define-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-fps (video-driver )) + (let ((getFPS (get-irrlicht-proc "getFPS" video-driver))) + (getFPS 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) + video-driver + filename))) -(export ) +(export begin-scene end-scene get-fps get-name get-texture)