;;; guile-irrlicht --- FFI bindings for Irrlicht Engine
-;;; Copyright (C) 2019 Javier Sancho <jsf@jsancho.org>
+;;; Copyright (C) 2020 Javier Sancho <jsf@jsancho.org>
;;;
;;; This file is part of guile-irrlicht.
;;;
(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:)
- #:export (add-static-text!
- gui-draw-all
- set-visible-cursor!))
+ #:use-module (oop goops)
+ #:use-module (irrlicht base)
+ #:use-module (irrlicht foreign))
-(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)
- (make-c-struct ffi-core:rect rectangle)
- (if border 1 0)
- (if word-wrap 1 0)
- parent
- id
- (if fill-background 1 0)))
-(define (gui-draw-all gui-env)
- (ffi-gui:draw-all gui-env))
+;; IVideoDriver
+(define-class <gui-environment> (<irrlicht-base>))
-(define (set-visible-cursor! cursor-control visible)
- (ffi-gui:set-visible-cursor
- cursor-control
- (if visible 1 0)))
+(export <gui-environment>)