X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fbindings%2Fcore.scm;h=140506b47a0ab40414007ed2280f920f67e7875c;hb=4eb7b8f04ad278d49d632d62030b5fe648e3b97a;hp=c432714e9c17dc8d49a8e6584daec7f7aa0f56d9;hpb=ca1d1d0dd811558f133bfdad62b2b645a31695ff;p=guile-irrlicht.git diff --git a/irrlicht/bindings/core.scm b/irrlicht/bindings/core.scm index c432714..140506b 100644 --- a/irrlicht/bindings/core.scm +++ b/irrlicht/bindings/core.scm @@ -20,29 +20,55 @@ (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 aabbox3df->pointer) + +(define-public aabbox3df + (list vector3df vector3df)) + +(define-public (make-aabbox3df) + (pointer->aabbox3df + (make-c-struct aabbox3df '((0 0 0) (0 0 0))))) + +(define-foreign aabbox3d-add-internal-point + void "irr_core_aabbox3d_addInternalPoint" (list '* '*)) + +(define-foreign aabbox3d-reset + void "irr_core_aabbox3d_reset" (list '* '*))