+
+(define (set-window-caption! device text)
+ (ffi:set-window-caption device (string->pointer text)))
+
+(define (device-run? device)
+ (if (> (ffi:run device) 0) #t #f))
+
+(define (device-drop! device)
+ (if (> (ffi:drop device) 0) #t #f))
+
+
+;; Driver functions
+(define* (begin-scene driver
+ #:optional
+ (back-buffer #t)
+ (z-buffer #t)
+ (color '(255 0 0 0))
+ (video-data %null-pointer)
+ (source-rect '()))
+ (ffi-video:begin-scene driver
+ (if back-buffer 1 0)
+ (if z-buffer 1 0)
+ (make-c-struct ffi-video:scolor color)
+ video-data
+ (if (null? source-rect)
+ %null-pointer
+ (make-c-struct ffi-core:rect source-rect))))
+
+(define (end-scene driver)
+ (ffi-video:end-scene driver))
+
+
+;; GUI functions
+(define* (add-static-text! gui-env text rectangle
+ #:optional
+ (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))