[racket] More than one color with draw-text?

From: Stephen Bloch (bloch at adelphi.edu)
Date: Mon Dec 12 17:31:55 EST 2011

On Dec 12, 2011, at 10:53 AM, Will Robinson wrote:

> Hello,
> I'm trying to do a simple Roguelike game as an exercise in learning the language, particularly racket/gui.  I'm using draw-text to place characters on the screen.  Ideally, I'd just call this once and put up huge string full of newlines to represent a block of text.  My problem is that I want to have control of the color of each character in this block of text.  It seems to me that the color controls for draw-text are applied to the entire block at once.  Should I just call draw-text for each character in the block, individually assigning color?  That seems to be very slow computationally, not to mention more work on the poor coder.

Are characters and their colors orthogonal?  That is, can any character appear in any color, or does a particular character always appear in the same color?  If the latter, I would just create a bunch of images up front and place them at the desired (x,y) coordinates directly, rather than re-rendering the text every time.  That'll actually be faster.

Posted on the users mailing list.