X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=irrlicht%2Fgui.scm;h=e6e4ab3135320e1a9b925fe1f4172d4b50beed08;hb=8c5c5f5fc4aef51c5dfa515b3a8eee67de3b8e9b;hp=8a4c97ed577876dc6f48d01eacc4fbf12ad75d99;hpb=2a0373b3eda4407e2e41a4e8fc3a7333bb789a89;p=guile-irrlicht.git diff --git a/irrlicht/gui.scm b/irrlicht/gui.scm index 8a4c97e..e6e4ab3 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,35 +19,45 @@ (define-module (irrlicht gui) - #:use-module (ice-9 match) - #:use-module (system foreign) - #:use-module ((irrlicht bindings core) #:prefix ffi-core:) - #:use-module ((irrlicht bindings gui) #:prefix ffi-gui:) - #:use-module (irrlicht util) - #:export (add-static-text! - gui-draw-all - set-visible-cursor!)) - -(define* (add-static-text! gui-env text rectangle - #:key - (border #f) - (word-wrap #t) - (parent %null-pointer) - (id -1) - (fill-background #f)) - (ffi-gui:add-static-text gui-env - (string->pointer text) - (ffi-core:rect->pointer rectangle) - (bool->integer border) - (bool->integer word-wrap) - parent - id - (bool->integer fill-background))) - -(define (gui-draw-all gui-env) - (ffi-gui:draw-all gui-env)) - -(define (set-visible-cursor! cursor-control visible) - (ffi-gui:set-visible-cursor - cursor-control - (bool->integer visible))) + #: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)) + + +;; IGUIElement +(define-class ( )) + +(export ) + + +;; IGUIEnvironment +(define-class ()) + +(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 + (irr_gui_IGUIEnvironment_addStaticText (irr-pointer gui-environment) + text + rectangle + border + word-wrap + (irr-pointer parent) + id + fill-background)))) + +(export add-static-text!) + + +;; IGUIStaticText +(define-class ()) + +(export )