is-empty?))
(define-class <irrlicht-base> ()
- (irr-class #:init-value "" #:getter irr-class)
+ (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 <irrlicht-base>))
+ (slot-ref obj 'irr-class))
+
(define-method (is-empty? (obj <irrlicht-base>))
(equal? (irr-pointer obj) %null-pointer))
;; IrrlichtDevice
(define-class <irrlicht-device> (<reference-counted>)
- (irr-class #:init-value "IrrlichtDevice" #:getter irr-class))
+ (irr-class #:init-value "IrrlichtDevice"))
(define* (create-device #:key
(device-type 'software)
;; IGUIElement
(define-class <gui-element> (<attribute-exchanging-object> <event-receiver>)
- (irr-class #:init-value "IGUIElement" #:getter irr-class))
+ (irr-class #:init-value "IGUIElement"))
(export <gui-element>)
;; IGUIEnvironment
(define-class <gui-environment> (<reference-counted>)
- (irr-class #:init-value "IGUIEnvironment" #:getter irr-class))
+ (irr-class #:init-value "IGUIEnvironment"))
(define-method (add-static-text! (gui-environment <gui-environment>) text rectangle . rest)
(let-keywords rest #f
;; IGUIStaticText
(define-class <gui-static-text> (<gui-element>)
- (irr-class #:init-value "IGUIStaticText" #:getter irr-class))
+ (irr-class #:init-value "IGUIStaticText"))
(export <gui-static-text>)
;; IAttributeExchangingObject
(define-class <attribute-exchanging-object> (<reference-counted>)
- (irr-class #:init-value "IAttributeExchangingObject" #:getter irr-class))
+ (irr-class #:init-value "IAttributeExchangingObject"))
(export <attribute-exchanging-object>)
;;IFileArchive
(define-class <file-archive> (<reference-counted>)
- (irr-class #:init-value "IFileArchive" #:getter irr-class))
+ (irr-class #:init-value "IFileArchive"))
(export <file-archive>)
;;IFileSystem
(define-class <file-system> (<reference-counted>)
- (irr-class #:init-value "IFileSystem" #:getter irr-class))
+ (irr-class #:init-value "IFileSystem"))
(define-method (add-file-archive! (file-system <file-system>) filename . rest)
(let-keywords rest #f
;; IReferenceCounted
(define-class <reference-counted> (<irrlicht-base>)
- (irr-class #:init-value "IReferenceCounted" #:getter irr-class))
+ (irr-class #:init-value "IReferenceCounted"))
(define-method (drop! (obj <reference-counted>))
(let ((drop (get-irrlicht-proc "drop" obj)))
;; IEventReceiver
(define-class <event-receiver> (<irrlicht-base>)
- (irr-class #:init-value "IEventReceiver" #:getter irr-class))
+ (irr-class #:init-value "IEventReceiver"))
(export <event-receiver>)
;; IMesh
(define-class <mesh> (<reference-counted>)
- (irr-class #:init-value "IMesh" #:getter irr-class))
+ (irr-class #:init-value "IMesh"))
(export <mesh>)
;; IAnimatedMesh
(define-class <animated-mesh> (<mesh>)
- (irr-class #:init-value "IAnimatedMesh" #:getter irr-class))
+ (irr-class #:init-value "IAnimatedMesh"))
(export <animated-mesh>)
;; ISceneManager
(define-class <scene-manager> (<reference-counted>)
- (irr-class #:init-value "ISceneManager" #:getter irr-class))
+ (irr-class #:init-value "ISceneManager"))
(define-method (add-animated-mesh-scene-node! (scene-manager <scene-manager>)
(mesh <animated-mesh>)
;; ISceneNode
(define-class <scene-node> (<attribute-exchanging-object>)
- (irr-class #:init-value "ISceneNode" #:getter irr-class))
+ (irr-class #:init-value "ISceneNode"))
(define-method (set-material-flag! (node <scene-node>) flag new-value)
((get-irrlicht-proc "setMaterialFlag" node)
;; IAnimatedMeshSceneNode
(define-class <animated-mesh-scene-node> (<scene-node>)
- (irr-class #:init-value "IAnimatedMeshSceneNode" #:getter irr-class))
+ (irr-class #:init-value "IAnimatedMeshSceneNode"))
(define-method (set-md2-animation! (node <animated-mesh-scene-node>) anim)
((get-irrlicht-proc "setMD2Animation" node)
;; ICameraSceneNode
(define-class <camera-scene-node> (<scene-node>)
- (irr-class #:init-value "ICameraSceneNode" #:getter irr-class))
+ (irr-class #:init-value "ICameraSceneNode"))
(export <camera-scene-node>)
;; ITexture
(define-class <texture> (<irrlicht-base>)
- (irr-class #:init-value "ITexture" #:getter irr-class))
+ (irr-class #:init-value "ITexture"))
(export <texture>)
;; IVideoDriver
(define-class <video-driver> (<irrlicht-base>)
- (irr-class #:init-value "IVideoDriver" #:getter irr-class))
+ (irr-class #:init-value "IVideoDriver"))
(define-method (begin-scene (video-driver <video-driver>) . rest)
(let-keywords rest #f