I'm sorry if this question has been answered before, but I've run into an
issue with SMSQ/E's graphics system.
When you use the CIRCLE command on a window with an aspect ratio of, say,
3:2 (on the screen, not in pixels since the graphics coordinate system is
pixel-independent!) and type:

CIRCLE 75,50,50

you get a circle exactly in the centre of the window which exactly fits the
window in vertical direction (assuming standard SCALE setting of 100,0,0).
But when you enter this command on SMSQ/E, assuming a window with exactly
the same aspect ratio, the circle becomes an ellipse which partly falls off
the right edge of the window.

I'm aware of the fact that the native QL screen has non-square pixels (the
width/height ratio of a pixel is 0.738; combined with the 512x256
resolution this yields an aspect ratio of about 3:2 or 1.476 to be exact).
QDOS and Minerva compensate for this in the graphics routines so that the
scale in horizontal direction is the same as in vertical direction (the
Minerva source code is in fig.asm).
However, on PC-emulated screens pixels have a different aspect ratio (I
guess mostly 1:1). It appears that the graphics coordinate system on SMSQ/E
still tries to adjust for the native QL pixel aspect ratio, leading to
incorrect X/Y scale ratio on the graphics screen.
AFAIK there is no way to adjust for this error, short of changing
application programs. The SCALE command doesn't help, as there is only one
SCALE parameter that sets the scale for both X and Y directions.

Anyone got an idea?


*Jan Bredenbeek* | Hilversum, NL | j...@bredenbeek.net
QL-Users Mailing List

Reply via email to