X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fbindings%2Fcore.scm;h=a5f06fd8a2ea651fe38390bf40367c93e242ee24;hb=8994b42fea213a741631efbe7fd9c09c0aab7100;hp=8605919dd10a4138812409ed052ef70128b5e68c;hpb=e43287a8185702b52a591afb3ade81ca8e383f25;p=guile-irrlicht.git diff --git a/irrlicht/bindings/core.scm b/irrlicht/bindings/core.scm index 8605919..a5f06fd 100644 --- a/irrlicht/bindings/core.scm +++ b/irrlicht/bindings/core.scm @@ -20,26 +20,49 @@ (define-module (irrlicht bindings core) #:use-module (system foreign) - #:use-module (irrlicht util)) + #: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 float)) + (list float float)) + +(define-public (vector2df->pointer data) + (make-c-struct vector2df data)) ;; vector3df struct (define-public vector3df (list float float float)) -;; aabbox3d f32 struct and functions -(define-public aabbox3d_f32 - (append - vector3df ; min-edge - vector3df ; max-edge - )) +(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 '* '*))