- #:re-export (get-current-color
- set-current-color
- with-color
- progn-textures
- draw
- draw-texture
- draw-line
- draw-quad
- draw-rectangle
- draw-square
- draw-cube
- translate
- rotate
- to-origin
- add-light
- set-camera
- camera-look
- render-text
- get-frame-time
- key?
- key-pressed?
- key-released?))
-
-
-;;; Resources Cache
-
-(define resources-cache (make-weak-value-hash-table))
-
-(define (from-cache key)
- (hash-ref resources-cache key))
-
-(define (into-cache key res)
- (hash-set! resources-cache key res))
-
-(define-macro (use-cache-with module proc)
- (let ((pwc (string->symbol (string-concatenate (list (symbol->string proc) "-without-cache")))))
- `(begin
- (define ,pwc (@ ,module ,proc))
- (define (,proc . param)
- (let* ((key param)
- (res (from-cache key)))
- (cond (res
- res)
- (else
- (set! res (apply ,pwc param))
- (into-cache key res)
- res)))))))
-
-(use-cache-with (gacela video) load-texture)
-(use-cache-with (gacela video) load-font)