Font and texture resource loading

This commit is contained in:
BirDt_ 2026-04-29 19:31:00 +08:00 committed by Jakub
parent 3f0e1985b3
commit 9f1bde8ac6
7 changed files with 256 additions and 16 deletions

View file

@ -3,6 +3,7 @@
(chicken base)
(chicken module)
raylib
(imugi core)
(imugi guards)
(imugi math)
(srfi 4)
@ -237,7 +238,7 @@
;; Drawing functions
;; Helper wrappers for raylib functions
(export draw-circle-2d draw-rectangle-2d draw-text-2d)
(export draw-circle-2d draw-rectangle-2d draw-text-2d draw-texture-2d draw-font-text-2d)
(define (draw-circle-2d pos-vec radius color filled)
(assert (vec2? pos-vec))
(assert (number? radius))
@ -282,4 +283,32 @@
(number->integer (v-y pos-vec))
size
(use-color tint)))
(define (draw-font-text-2d pos-vec text size tint font)
(assert (vec2? pos-vec))
(assert (string? text))
(assert (resource? font))
(assert (eqv? 'font (resource-type font)))
(assert ((conjoin integer? positive?) size))
(assert (color? tint))
(when (resource-initialized? font)
(draw-text-ex
(resource-contents font)
text
(make-vec2 (number->integer (v-x pos-vec))
(number->integer (v-y pos-vec)))
size
1
(use-color tint))))
(define (draw-texture-2d pos-vec texture color)
(assert (vec2? pos-vec))
(assert (resource? texture))
(assert (eqv? 'texture (resource-type texture)))
(assert (color? color))
(when (resource-initialized? texture)
(draw-texture (resource-contents texture)
(number->integer (v-x pos-vec))
(number->integer (v-y pos-vec))
(use-color color))))
)