X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fgui.scm;h=1471409807bc524261e95e27851b1e50a58ae3a3;hb=f0da6b5b2ca5b945912888864b264dc79dc031a1;hp=2299574df1378cf49bd34d625b6f203bf748baa5;hpb=56de371557044d3b7acc14cb94cc46641be906d9;p=guile-irrlicht.git diff --git a/irrlicht/gui.scm b/irrlicht/gui.scm index 2299574..1471409 100644 --- a/irrlicht/gui.scm +++ b/irrlicht/gui.scm @@ -1,5 +1,5 @@ ;;; guile-irrlicht --- FFI bindings for Irrlicht Engine -;;; Copyright (C) 2019 Javier Sancho +;;; Copyright (C) 2020 Javier Sancho ;;; ;;; This file is part of guile-irrlicht. ;;; @@ -19,23 +19,64 @@ (define-module (irrlicht gui) - #:export (add-static-text!)) - -(load-extension "libguile-irrlicht" "init_guile_irrlicht") - -(define irr-add-static-text! add-static-text!) -(define* (add-static-text! guienv text rectangle - #:key - (border #f) - (word-wrap #t) - (parent #f) - (id -1) - (fill-background #f)) - (irr-add-static-text! guienv - text - rectangle - border - word-wrap - parent - id - fill-background)) + #:use-module (oop goops) + #:use-module (ice-9 optargs) + #:use-module (irrlicht base) + #:use-module (irrlicht foreign) + #:use-module (irrlicht io) + #:use-module (irrlicht irr)) + + +;; ICursorControl +(define-class () + (irr-class #:init-value "ICursorControl")) + +(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-static-text! (gui-environment ) text rectangle . rest) + (let-keywords rest #f + ((border #f) + (word-wrap #t) + (parent (make )) + (id -1) + (fill-background #f)) + (make + #: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 )) + ((get-irrlicht-proc "drawAll" gui-environment) + gui-environment)) + +(export add-static-text! draw-all) + + +;; IGUIStaticText +(define-class () + (irr-class #:init-value "IGUIStaticText")) + +(export )