]> git.jsancho.org Git - guile-irrlicht.git/commitdiff
Wrapped aabbox3df type
authorJavier Sancho <jsf@jsancho.org>
Thu, 9 Jan 2020 18:09:31 +0000 (19:09 +0100)
committerJavier Sancho <jsf@jsancho.org>
Thu, 9 Jan 2020 18:09:31 +0000 (19:09 +0100)
irrlicht.scm
irrlicht/bindings/core.scm
irrlicht/core.scm [new file with mode: 0644]

index f3474c63dd48071b6eee9be7d459e7267f600ae7..5db57e99c35f96ad428d802e6b40c6c3dcdb8c9c 100644 (file)
@@ -23,7 +23,8 @@
 (eval-when (eval load compile)
   ;; load public symbols into current module
   (let ((public-modules
-         '((irrlicht device)
+         '((irrlicht core)
+           (irrlicht device)
            (irrlicht gui)
            (irrlicht io)
            (irrlicht scene)
index e0a13afdcf3ae6810bc88ad9f193390e049611fb..59b05af4e9fcd56c63f3b0a6bec6e01c8bda1340 100644 (file)
   (make-c-struct vector3df data))
 
 ;; aabbox3df struct
-(define-public aabbox3df
+(define-wrapped-pointer-type aabbox3df
+  aabbox3df?
+  pointer->aabbox3df aabbox3df->pointer
+  (lambda (box port)
+    (format port "#<aabbox3df ~x>"
+            (pointer-address (aabbox3df->pointer box)))))
+
+(export aabbox3df->pointer)
+
+(define aabbox3df-type
   (list vector3df vector3df))
 
-(define-public (aabbox3df->pointer data)
-  (make-c-struct aabbox3df data))
+(define-public (make-aabbox3df)
+  (pointer->aabbox3df
+   (make-c-struct aabbox3df-type '((0 0 0) (0 0 0)))))
 
 (define-foreign aabbox3d-add-internal-point
   void "irr_core_aabbox3d_addInternalPoint" (list '* '*))
diff --git a/irrlicht/core.scm b/irrlicht/core.scm
new file mode 100644 (file)
index 0000000..1fa5497
--- /dev/null
@@ -0,0 +1,23 @@
+;;; guile-irrlicht --- FFI bindings for Irrlicht Engine
+;;; Copyright (C) 2019 Javier Sancho <jsf@jsancho.org>
+;;;
+;;; This file is part of guile-irrlicht.
+;;;
+;;; Guile-irrlicht is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU Lesser General Public License as
+;;; published by the Free Software Foundation; either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; Guile-irrlicht is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Lesser General Public
+;;; License along with guile-irrlicht.  If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+
+(define-module (irrlicht core)
+  #:use-module ((irrlicht bindings core) #:prefix ffi-core:)
+  #:re-export ((ffi-core:make-aabbox3df . make-aabbox3df)))