X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fbase.scm;h=76a7a6bd1c725c3e1dc7b3206e3813cd58b26123;hb=384a8fb56d8500dc3551085191a39c9da70e221c;hp=bb04442f8a722f310fb73d61d9880bbd25b2bd7e;hpb=c9c098c6a9363eb59f435eb195a4bc5b9098b1dd;p=guile-irrlicht.git diff --git a/irrlicht/base.scm b/irrlicht/base.scm index bb04442..76a7a6b 100644 --- a/irrlicht/base.scm +++ b/irrlicht/base.scm @@ -22,14 +22,14 @@ #:use-module (oop goops) #:use-module (system foreign) #:export ( - wrapped-obj)) + irr-class + irr-pointer)) (define-class () - (irr-ptr #:init-value %null-pointer #:accessor irrlicht-pointer #:init-keyword #:ptr) - (irr-class #:init-value "irrlicht-base" #:getter irrlicht-class) - (wrapped-obj #:accessor wrapped-obj #:allocation #:virtual - #:slot-ref (lambda (obj) - (cons (slot-ref obj 'irr-class) - (slot-ref obj 'irr-ptr))) - #:slot-set! (lambda (obj wrapped) - (slot-set! obj 'irr-ptr (cdr wrapped))))) + (irr-class #:init-value "") + (irr-pointer #:init-value %null-pointer #:getter irr-pointer #:init-keyword #:irr-pointer)) + +;; irr-class getter is defined in this way to avoid problems with multiple getters +;; in multiple inherited classes +(define-method (irr-class (obj )) + (slot-ref obj 'irr-class))