X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=sidebyside;f=irrlicht%2Fbindings%2Fcore.scm;h=a5f06fd8a2ea651fe38390bf40367c93e242ee24;hb=8ab48666239b37a357944d2928a31aaf37578892;hp=c432714e9c17dc8d49a8e6584daec7f7aa0f56d9;hpb=ca1d1d0dd811558f133bfdad62b2b645a31695ff;p=guile-irrlicht.git diff --git a/irrlicht/bindings/core.scm b/irrlicht/bindings/core.scm index c432714..a5f06fd 100644 --- a/irrlicht/bindings/core.scm +++ b/irrlicht/bindings/core.scm @@ -20,29 +20,52 @@ (define-module (irrlicht bindings core) #:use-module (system foreign) - #:use-module (irrlicht util)) - -;; aabbox3d f32 struct and functions -(define-public aabbox3d_f32 - (list - float float float ;minEdge - float float float ;maxEdge - )) - -(define-foreign aabbox3d-add-internal-point - void "irr_core_aabbox3d_addInternalPoint" (list '* '*)) - -(define-foreign aabbox3d-reset - void "irr_core_aabbox3d_reset" (list '* '*)) + #:use-module (irrlicht util foreign)) ;; dimension2d struct (define-public dimension2d (list uint32 uint32)) +(define-public (dimension2d->pointer data) + (make-c-struct dimension2d data)) + ;; rect struct (define-public rect (list int32 int32 int32 int32)) +(define-public (rect->pointer data) + (make-c-struct rect data)) + +;; vector2df struct +(define-public vector2df + (list float float)) + +(define-public (vector2df->pointer data) + (make-c-struct vector2df data)) + ;; vector3df struct (define-public vector3df (list float float float)) + +(define-public (vector3df->pointer data) + (make-c-struct vector3df data)) + +;; aabbox3df struct +(define-wrapped-pointer-type aabbox3df-type + aabbox3df? + pointer->aabbox3df aabbox3df->pointer + (lambda (box port) + (format port "#" + (pointer-address (aabbox3df->pointer box))))) + +(export pointer->aabbox3df + aabbox3df->pointer) + +(define-public aabbox3df + (list vector3df vector3df)) + +(define-foreign aabbox3d-add-internal-point + void "irr_core_aabbox3d_addInternalPoint" (list '* '*)) + +(define-foreign aabbox3d-reset + void "irr_core_aabbox3d_reset" (list '* '*))