]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/bindings/core.scm
TOC with direct C++
[guile-irrlicht.git] / irrlicht / bindings / core.scm
index 8605919dd10a4138812409ed052ef70128b5e68c..a5f06fd8a2ea651fe38390bf40367c93e242ee24 100644 (file)
 
 (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 "#<aabbox3df ~x>"
+            (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 '* '*))