X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fbindings%2Fcore.scm;h=a5f06fd8a2ea651fe38390bf40367c93e242ee24;hb=8994b42fea213a741631efbe7fd9c09c0aab7100;hp=2058d8a91b898664c207a29c76074b1d7e2c71d9;hpb=08677eca02dfe600ae413ec9f052308b322ad767;p=guile-irrlicht.git diff --git a/irrlicht/bindings/core.scm b/irrlicht/bindings/core.scm index 2058d8a..a5f06fd 100644 --- a/irrlicht/bindings/core.scm +++ b/irrlicht/bindings/core.scm @@ -19,8 +19,53 @@ (define-module (irrlicht bindings core) - #:use-module (system foreign)) + #:use-module (system foreign) + #: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 '* '*))