Few more changes. As the TextWriter now accepts a bitmap pointer in its output routines, I’ve added a drawText() function to the SuperBitmap class. It allows text to be written onto the SuperBitmap’s canvas in a developer-specified font.
By default, the Font class assumes that it is dealing with multicolour fonts. However, this behaviour can now be overridden by setting its output colour; it will then assume that any non-background colour should be the output colour instead. The TextWriter now requests each pixel from the Font (instead of dealing with the font bitmap directly), so it will automatically work in monochrome if the font’s output colour has been set.
The Pong demo now has palette-cycled text written on it.
One more change - windows now have depth gadgets. Looking through the list of new features that need to be added on the SourceForge feature tracker, I think I’m getting close to the point where all of the basic functionality is in place. The only item on the list that really affects the guts of Woopsi is the gadget enabled/disabled toggle (EDIT: which I’ve just added). After that, it’s just a question of adding in new gadgets and requesters. As long as there are no architectural mistakes or omissions in the rest of the system, each gadget should (ahem) just slot into place as it is written.
Here’s a screenshot; I’ll upload demo 0.24 to SourceForge at some point.