31 lines
650 B
Scheme
31 lines
650 B
Scheme
|
|
||
|
;; show some text
|
||
|
|
||
|
(define text
|
||
|
(lambda (fsclist)
|
||
|
(for-each
|
||
|
(lambda (fsc)
|
||
|
(let
|
||
|
((font (car fsc))
|
||
|
(size (cadr fsc))
|
||
|
(color (caddr fsc))
|
||
|
(pos 0))
|
||
|
(apply draw-color color)
|
||
|
(draw-font font size)
|
||
|
(for-each
|
||
|
(lambda (word)
|
||
|
(let ((dim (string-size word font size)))
|
||
|
(draw-move (- (/ (car dim) 2.0)) (* pos (cdr dim)))
|
||
|
(draw-string word)
|
||
|
(set! pos (- pos 1))))
|
||
|
(map
|
||
|
symbol->string
|
||
|
'(The quick brown fox jumps over the lazy dog)))
|
||
|
(draw-show))) fsclist)))
|
||
|
|
||
|
(text
|
||
|
'(("Courier" 36 (255 0 0))
|
||
|
("Helvetica-Bold" 24 (0 255 0))
|
||
|
("Lucida-Italic-Sans" 18 (0 0 255))))
|
||
|
|
||
|
|