]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/gui.scm
set-visible!
[guile-irrlicht.git] / irrlicht / gui.scm
index 70a2f97db51895c86135db6f6515d77e00e6939c..1471409807bc524261e95e27851b1e50a58ae3a3 100644 (file)
 
 (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>))
+;; ICursorControl
+(define-class <cursor-control> (<reference-counted>)
+  (irr-class #:init-value "ICursorControl"))
 
-(export <gui-environment>)
+(define-method (set-visible! (cursor-control <cursor-control>) visible)
+  (let ((setVisible (get-irrlicht-proc "setVisible" cursor-control)))
+    (setVisible cursor-control visible)))
+
+(export <cursor-control> set-visible!)
+
+
+;; IGUIElement
+(define-class <gui-element> (<attribute-exchanging-object> <event-receiver>)
+  (irr-class #:init-value "IGUIElement"))
+
+(export <gui-element>)
+
+
+;; IGUIEnvironment
+(define-class <gui-environment> (<reference-counted>)
+  (irr-class #:init-value "IGUIEnvironment"))
+
+(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)
+       gui-environment
+       text
+       rectangle
+       border
+       word-wrap
+       parent
+       id
+       fill-background))))
+
+(define-method (draw-all (gui-environment <gui-environment>))
+  ((get-irrlicht-proc "drawAll" gui-environment)
+   gui-environment))
+
+(export <gui-environment> add-static-text! draw-all)
+
+
+;; IGUIStaticText
+(define-class <gui-static-text> (<gui-element>)
+  (irr-class #:init-value "IGUIStaticText"))
+
+(export <gui-static-text>)