#:use-module ((irrlicht bindings) #:prefix ffi:)
#:use-module ((irrlicht bindings core) #:prefix ffi-core:)
#:use-module ((irrlicht bindings video) #:prefix ffi-video:)
- #:export (create-device))
+ #:export (create-device
+ get-video-driver
+ get-scene-manager
+ set-window-caption!))
(define* (create-device #:optional
(device-type 'software)
- (window-size '(640 480)))
+ (window-size '(640 480))
+ (bits 16)
+ (fullscreen #f)
+ (stencilbuffer #f)
+ (vsync #f))
(let ((driver (match device-type
('null ffi-video:EDT_NULL)
('software ffi-video:EDT_SOFTWARE)
('opengl ffi-video:EDT_OPENGL)
('count ffi-video:EDT_COUNT)))
(wsize (make-c-struct ffi-core:dimension2d window-size)))
- (ffi:create-device driver wsize)))
+ (ffi:create-device driver wsize bits
+ (if fullscreen 1 0)
+ (if stencilbuffer 1 0)
+ (if vsync 1 0))))
+
+(define (get-video-driver device)
+ (ffi:get-video-driver device))
+
+(define (get-scene-manager device)
+ (ffi:get-scene-manager device))
+
+(define (set-window-caption! device text)
+ (ffi:set-window-caption device (string->pointer text)))