X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fgui.scm;h=1d97d75dcb2b00bac03f4f8138b016383e134fee;hb=537c949563f0f1f0419aef8b84c75e5042fd1b08;hp=70a2f97db51895c86135db6f6515d77e00e6939c;hpb=37aba303eccc24a407f1b5b0af81623e47b89a22;p=guile-irrlicht.git diff --git a/irrlicht/gui.scm b/irrlicht/gui.scm index 70a2f97..1d97d75 100644 --- a/irrlicht/gui.scm +++ b/irrlicht/gui.scm @@ -20,11 +20,75 @@ (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) #:select ()) + #:use-module ((irrlicht irr) #:select ( ))) -;; IVideoDriver -(define-class ()) +;; ICursorControl +(define-class () + (irr-class #:init-value "ICursorControl")) -(export ) +(define-method (set-visible! (cursor-control ) visible) + (let ((setVisible (get-irrlicht-proc "setVisible" cursor-control))) + (setVisible cursor-control visible))) + +(export set-visible!) + + +;; IGUIElement +(define-class ( ) + (irr-class #:init-value "IGUIElement")) + +(export ) + + +;; IGUIEnvironment +(define-class () + (irr-class #:init-value "IGUIEnvironment")) + +(define-method (add-image! (gui-environment ) image pos . rest) + (let-keywords rest #f + ((use-alpha-channel #t) + (parent (make )) + (id -1) + (text "")) + (let ((addImage (get-irrlicht-proc "addImage" gui-environment parent))) + (addImage gui-environment image pos use-alpha-channel parent id text)))) + +(define-method (add-static-text! (gui-environment ) text rectangle . rest) + (let-keywords rest #f + ((border #f) + (word-wrap #t) + (parent (make )) + (id -1) + (fill-background #f)) + (let ((addStaticText (get-irrlicht-proc "addStaticText" gui-environment parent))) + (addStaticText gui-environment text rectangle border word-wrap parent + id fill-background)))) + +(define-method (draw-all (gui-environment )) + ((get-irrlicht-proc "drawAll" gui-environment) + gui-environment)) + +(export add-image! add-static-text! draw-all) + + +;; IGUIStaticText +(define-class () + (irr-class #:init-value "IGUIStaticText")) + +(define-method (set-override-color! (static-text ) color) + (let ((setOverrideColor (get-irrlicht-proc "setOverrideColor" static-text))) + (setOverrideColor static-text color))) + +(export set-override-color!) + + +;; IGUIImage +(define-class () + (irr-class #:init-value "IGUIImage")) + +(export )