X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fvideo.scm;h=53b28a62074cd2fe8826b1a7b4b9b2aaed6ba379;hb=6bcbb2cefb0e69afae9b1de828b85f506b1bef19;hp=77e3d21415f7b3ce68815c7a903ff3da0f19657f;hpb=fb9011bf9160be890e0a6b98fcff9ed95ae0bd77;p=guile-irrlicht.git diff --git a/irrlicht/video.scm b/irrlicht/video.scm index 77e3d21..53b28a6 100644 --- a/irrlicht/video.scm +++ b/irrlicht/video.scm @@ -19,6 +19,47 @@ (define-module (irrlicht video) - #:export (get-texture)) + #:use-module (oop goops) + #:use-module (ice-9 optargs) + #:use-module (irrlicht base) + #:use-module (irrlicht foreign)) -(load-extension "libguile-irrlicht" "init_guile_irrlicht") + +;; ITexture +(define-class () + (irr-class #:init-value "ITexture" #:getter irr-class)) + +(export ) + + +;; IVideoDriver +(define-class () + (irr-class #:init-value "IVideoDriver" #:getter irr-class)) + +(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) + (irr-pointer video-driver) + back-buffer + z-buffer + color + video-data + source-rect))) + +(define-method (end-scene (video-driver )) + ((get-irrlicht-proc "endScene" video-driver) + (irr-pointer video-driver))) + +(define-method (get-texture (video-driver ) filename) + (make + #:irr-pointer + ((get-irrlicht-proc "getTexture" video-driver) + (irr-pointer video-driver) + filename))) + +(export begin-scene end-scene get-texture)