(define-module (irrlicht gui)
#:use-module (oop goops)
+ #:use-module (ice-9 optargs)
#:use-module (irrlicht base)
- #:use-module (irrlicht foreign))
+ #:use-module (irrlicht foreign)
+ #:use-module (irrlicht io)
+ #:use-module (irrlicht irr))
-;; IVideoDriver
-(define-class <gui-environment> (<irrlicht-base>))
+;; IGUIElement
+(define-class <gui-element> (<attribute-exchanging-object> <event-receiver>)
+ (irr-class #:init-value "IGUIElement" #:getter irr-class))
-(export <gui-environment>)
+(export <gui-element>)
+
+
+;; IGUIEnvironment
+(define-class <gui-environment> (<reference-counted>)
+ (irr-class #:init-value "IGUIEnvironment" #:getter irr-class))
+
+(define-method (add-static-text! (gui-environment <gui-environment>) text rectangle . rest)
+ (let-keywords rest #f
+ ((border #f)
+ (word-wrap #t)
+ (parent (make <gui-element>))
+ (id -1)
+ (fill-background #f))
+ (make <gui-static-text>
+ #:irr-pointer
+ ((get-irrlicht-proc "addStaticText" gui-environment parent)
+ (irr-pointer gui-environment)
+ text
+ rectangle
+ border
+ word-wrap
+ (irr-pointer parent)
+ id
+ fill-background))))
+
+(export <gui-environment> add-static-text!)
+
+
+;; IGUIStaticText
+(define-class <gui-static-text> (<gui-element>)
+ (irr-class #:init-value "IGUIStaticText" #:getter irr-class))
+
+(export <gui-static-text>)