Drawing rotated text in CAPI
Hi,
I'm working on a CAPI-based library for drawing scientific graphs.
As part of that, I want to draw some rotated text (e.g. I'd like
the label for the y-axis to be rotated 90 degrees, and I'd like to
have the option of rotating 'tick labels' for the x-axis by 45 degrees).
I can't find any way to do that. Here are some things I've considerd:
- My first idea was to use graphics-port transforms (e.g.
GP:WITH-GRAPHICS-ROTATION). This works nicely with drawing functions
like GP:DRAW-RECTANGLE & friends, but does not do what I'd hope
with GP:DRAW-STRING.
- My second idea was to draw the string to a pixmap, and then copy
the resulting pixmap to the graphics port that has my graph in it.
That doesn't work either, because I can't specify a rotation when
copying a pixmap to a port (which is probably quite understandable,
but that doesn't help me).
- My third idea is to specify a rotation angle when creating a font.
Windows, the platform I'm most interested in at the moment, lets
you create fonts with a rotation angle. But I can't find anything
in the CAPI documentation that tells me how to specify a rotation
angle or, alternatively, how I can create a CAPI font based on
a Windows font that I could create myself (e.g. using the FLI).
- My last resort would be to make this totally Windows-specific and
use the FLI both to create a font and to draw the string. I'd rather
not do that, so I'd appreciate any suggestions for a more portable
solution.
Thanks a lot in advance,
Arthur Lemmens