X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Futil.scm;h=efa5ba7fbe2c7547fa7f0cf217b459cd73259d5d;hb=71e6e638cba09643fca5dccd1b7295b7db0def06;hp=e7c8641026b23a9b93dd95d55f6751ff546de9dd;hpb=e01650cfcde81068b3b5819b64f9b641905b3b76;p=guile-irrlicht.git diff --git a/irrlicht/util.scm b/irrlicht/util.scm index e7c8641..efa5ba7 100644 --- a/irrlicht/util.scm +++ b/irrlicht/util.scm @@ -25,7 +25,8 @@ #:export (bool->integer integer->bool define-foreign - define-foreign-record-type)) + define-foreign-record-type + foreign-record->pointer)) (define (bool->integer var) (if var 1 0)) @@ -79,7 +80,7 @@ (iota (length field-specs)))) (syntax-case x () - ((_ name (make-name make-arg ...) predicate? unwrap-record field-spec ...) + ((_ name (make-name make-arg ...) predicate? field-spec ...) (with-syntax (((type-id ...) (field-types #'(field-spec ...))) ((field-name ...) (field-names #'(field-spec ...))) (((getter getter-id) ...) (field-getters #'(field-spec ...))) @@ -133,3 +134,6 @@ (else #f)))) (if procedure (apply procedure bv 0 value '())))) + +(define (foreign-record->pointer record) + (struct-ref record 0))