(define-class <gui-environment> (<reference-counted>)
(irr-class #:init-value "IGUIEnvironment"))
+(define-method (add-button! (gui-environment <gui-environment>) rectangle . rest)
+ (let-keywords rest #f
+ ((parent (make <gui-element>))
+ (id -1)
+ (text "")
+ (tooltiptext ""))
+ (let ((addButton (get-irrlicht-proc "addButton" gui-environment parent)))
+ (addButton gui-environment rectangle parent id text tooltiptext))))
+
(define-method (add-image! (gui-environment <gui-environment>) image pos . rest)
(let-keywords rest #f
((use-alpha-channel #t)
((get-irrlicht-proc "drawAll" gui-environment)
gui-environment))
+(define-method (get-built-in-font (gui-environment <gui-environment>))
+ (let ((getBuiltInFont (get-irrlicht-proc "getBuiltInFont" gui-environment)))
+ (getBuiltInFont gui-environment)))
+
(define-method (get-font (gui-environment <gui-environment>) filename)
(let ((getFont (get-irrlicht-proc "getFont" gui-environment)))
(getFont gui-environment filename)))
(let ((getSkin (get-irrlicht-proc "getSkin" gui-environment)))
(getSkin gui-environment)))
-(export <gui-environment> add-image! add-static-text! draw-all get-font get-skin)
+(export <gui-environment> add-button! add-image! add-static-text! draw-all get-built-in-font
+ get-font get-skin)
;; IGUIStaticText
(define-class <gui-skin> (<attribute-exchanging-object>)
(irr-class #:init-value "IGUISkin"))
-(export <gui-skin>)
+(define-method (set-font! (skin <gui-skin>) font . rest)
+ (let-keywords rest #f
+ ((which 'default))
+ (let ((setFont (get-irrlicht-proc "setFont" skin)))
+ (setFont skin font which))))
+
+(export <gui-skin> set-font!)
;; IGUIFont
(irr-class #:init-value "IGUIFont"))
(export <gui-font>)
+
+
+;; IGUIButton
+(define-class <gui-button> (<gui-element>)
+ (irr-class #:init-value "IGUIButton"))
+
+(export <gui-button>)