(define-module (irrlicht)
+ #:use-module (oop goops)
#:use-module (irrlicht base)
#:use-module (irrlicht device)
#:use-module (irrlicht gui)
#:use-module (irrlicht scene)
#:use-module (irrlicht video)
+ #:duplicates (merge-generics)
#:re-export (add-animated-mesh-scene-node!
add-camera-scene-node!
add-static-text!
set-material-texture!
set-md2-animation!
set-window-caption!))
+
+;; Merged methods have to be exported apart
+(re-export draw-all)
id
fill-background))))
-(export <gui-environment> add-static-text!)
+(define-method (draw-all (gui-environment <gui-environment>))
+ ((get-irrlicht-proc "drawAll" gui-environment)
+ (irr-pointer gui-environment)))
+
+(export <gui-environment> add-static-text! draw-all)
;; IGUIStaticText
id
make-active))))
+(define-method (draw-all (scene-manager <scene-manager>))
+ ((get-irrlicht-proc "drawAll" scene-manager)
+ (irr-pointer scene-manager)))
+
(define-method (get-mesh (scene-manager <scene-manager>) filename)
(make <animated-mesh>
#:irr-pointer
(irr-pointer scene-manager)
filename)))
-(export <scene-manager> add-animated-mesh-scene-node! add-camera-scene-node! get-mesh)
+(export <scene-manager> add-animated-mesh-scene-node! add-camera-scene-node! draw-all get-mesh)
;; ISceneNode