X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fbindings%2Fvideo.scm;h=2e60ff35d4a3626c3615e96dd621183907ece359;hb=2a0373b3eda4407e2e41a4e8fc3a7333bb789a89;hp=47b05d1c24cf046d64b232708ea6b792835ef42c;hpb=84886d64879f76a593b79327836b5d251d23af53;p=guile-irrlicht.git diff --git a/irrlicht/bindings/video.scm b/irrlicht/bindings/video.scm index 47b05d1..2e60ff3 100644 --- a/irrlicht/bindings/video.scm +++ b/irrlicht/bindings/video.scm @@ -19,9 +19,8 @@ (define-module (irrlicht bindings video) - #:use-module (system foreign)) - -(define cirr (dynamic-link "libCIrrlicht")) + #:use-module (system foreign) + #:use-module (irrlicht util foreign)) ;; E_DRIVER_TYPE enum (define-public EDT_NULL 0) @@ -57,23 +56,23 @@ ;; scolor struct (define-public scolor - (list uint32 uint32 uint32 uint32)) + (list uint8 uint8 uint8 uint8)) + +(define-public (scolor->pointer data) + (make-c-struct scolor (reverse data))) ;; Driver functions -(define-public begin-scene - (pointer->procedure - int - (dynamic-func "irr_video_beginScene" cirr) - (list '* int int '* '* '*))) +(define-foreign begin-scene + int "irr_video_beginScene" (list '* int int '* '* '*)) + +(define-foreign end-scene + int "irr_video_endScene" (list '*)) + +(define-foreign get-fps + int "irr_video_getFPS" (list '*)) -(define-public end-scene - (pointer->procedure - int - (dynamic-func "irr_video_endScene" cirr) - (list '*))) +(define-foreign get-texture + '* "irr_video_getTexture" (list '* '*)) -(define-public get-texture - (pointer->procedure - '* - (dynamic-func "irr_video_getTexture" cirr) - (list '* '*))) +(define-foreign get-video-driver-name + '* "irr_video_getName" (list '*))