]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/bindings/core.scm
Bindings refactor
[guile-irrlicht.git] / irrlicht / bindings / core.scm
index 20d8e8405ae352061a80f64d42711c78179b00fc..e0a13afdcf3ae6810bc88ad9f193390e049611fb 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-public aabbox3df
+  (list vector3df vector3df))
+
+(define-public (aabbox3df->pointer data)
+  (make-c-struct aabbox3df data))
 
 (define-foreign aabbox3d-add-internal-point
   void "irr_core_aabbox3d_addInternalPoint" (list '* '*))