diff options
author | David Thompson <dthompson2@worcester.edu> | 2020-12-05 13:07:08 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2020-12-05 13:07:08 -0500 |
commit | 7612713d904aee52c978e560158aa2c8cee949a7 (patch) | |
tree | 251c0aa4775dee1bec1f5a16c41861aa4cb34730 /sdl2/ttf.scm | |
parent | f4df3a7ac08bb6c50956bf27534d4f51423ec863 (diff) |
ttf: Return multiple values instead of a list in font-glyph-metrics.
Diffstat (limited to 'sdl2/ttf.scm')
-rw-r--r-- | sdl2/ttf.scm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sdl2/ttf.scm b/sdl2/ttf.scm index b1345d6..e7eac6d 100644 --- a/sdl2/ttf.scm +++ b/sdl2/ttf.scm @@ -111,8 +111,8 @@ not present." (if (eq? result 0) #f result))) (define (font-glyph-metrics font char) - "Return a 5-element list containing the metrics of CHAR in FONT in -the following format: (minx maxx miny maxy advance)" + "Return 5 values for the metrics of CHAR in FONT: min x, max x, min y, +max y, and advance." (let ((bv (make-s32vector 5))) (if (zero? (ffi:ttf-glyph-metrics (unwrap-font font) (char->integer char) @@ -121,7 +121,11 @@ the following format: (minx maxx miny maxy advance)" (bytevector->pointer bv 8) (bytevector->pointer bv 12) (bytevector->pointer bv 16))) - (s32vector->list bv) + (values (s32vector-ref bv 0) + (s32vector-ref bv 1) + (s32vector-ref bv 2) + (s32vector-ref bv 3) + (s32vector-ref bv 4)) (sdl-error "font-glyph-metrics" "failed to get glyph metrics")))) (define (font-style font) |