X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fgui.scm;h=b0486b8a5d75c4016ad8f42e0b27ab12fc96a37b;hb=1b473f6444ef734036eec7bf85403a9153bf1a1c;hp=204c97d44d3d6cb261dbce4b8d5839cb18e9e0eb;hpb=ca3e7fd267ab3ccda9a71600d9fa4212c37bb5c7;p=guile-irrlicht.git diff --git a/irrlicht/gui.scm b/irrlicht/gui.scm index 204c97d..b0486b8 100644 --- a/irrlicht/gui.scm +++ b/irrlicht/gui.scm @@ -49,6 +49,15 @@ (define-class () (irr-class #:init-value "IGUIEnvironment")) +(define-method (add-button! (gui-environment ) rectangle . rest) + (let-keywords rest #f + ((parent (make )) + (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 ) image pos . rest) (let-keywords rest #f ((use-alpha-channel #t) @@ -58,6 +67,13 @@ (let ((addImage (get-irrlicht-proc "addImage" gui-environment parent))) (addImage gui-environment image pos use-alpha-channel parent id text)))) +(define-method (add-scrollbar! (gui-environment ) horizontal rectangle . rest) + (let-keywords rest #f + ((parent (make )) + (id -1)) + (let ((addScrollBar (get-irrlicht-proc "addScrollBar" gui-environment parent))) + (addScrollBar gui-environment horizontal rectangle parent id)))) + (define-method (add-static-text! (gui-environment ) text rectangle . rest) (let-keywords rest #f ((border #f) @@ -73,11 +89,20 @@ ((get-irrlicht-proc "drawAll" gui-environment) gui-environment)) +(define-method (get-built-in-font (gui-environment )) + (let ((getBuiltInFont (get-irrlicht-proc "getBuiltInFont" gui-environment))) + (getBuiltInFont gui-environment))) + +(define-method (get-font (gui-environment ) filename) + (let ((getFont (get-irrlicht-proc "getFont" gui-environment))) + (getFont gui-environment filename))) + (define-method (get-skin (gui-environment )) (let ((getSkin (get-irrlicht-proc "getSkin" gui-environment))) (getSkin gui-environment))) -(export add-image! add-static-text! draw-all get-skin) +(export add-button! add-image! add-scrollbar! add-static-text! draw-all + get-built-in-font get-font get-skin) ;; IGUIStaticText @@ -102,4 +127,39 @@ (define-class () (irr-class #:init-value "IGUISkin")) -(export ) +(define-method (set-font! (skin ) font . rest) + (let-keywords rest #f + ((which 'default)) + (let ((setFont (get-irrlicht-proc "setFont" skin))) + (setFont skin font which)))) + +(export set-font!) + + +;; IGUIFont +(define-class () + (irr-class #:init-value "IGUIFont")) + +(export ) + + +;; IGUIButton +(define-class () + (irr-class #:init-value "IGUIButton")) + +(export ) + + +;; IGUIScrollBar +(define-class () + (irr-class #:init-value "IGUIScrollBar")) + +(define-method (set-max! (scrollbar ) max) + (let ((setMax (get-irrlicht-proc "setMax" scrollbar))) + (setMax scrollbar max))) + +(define-method (set-position! (scrollbar ) pos) + (let ((setPos (get-irrlicht-proc "setPos" scrollbar))) + (setPos scrollbar pos))) + +(export set-max! set-position!)