(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 '* '*))