Please note I'm using the plain (non-cairo) GTK backend. Going on what I
found in the code it should have the same display effect as the riscos
The lines between the cells were originally yellow, but when copying
screens to my windows box they changed to red. I haven't investigated it
yet, but my guess is that they are initialized colour values that use
alpha channel. The lines should not be visible as they are 'holes'
created by rounding errors. The fixed-point values I use have a 13 bit
fraction which gives about 0.000122 accuracy. That leaves 18 bits for
the integer part giving a range from -266142 to 266141. I am assuming
the coordinate range is -65536 to 65535 which leaves some safety margin
for overflow errors during intermediate calculations. I do not know what
the specs say about coordinate and sizing ranges. In the plotter
functions I added code which snap the coordinates to the display pixel
grid. I have found in the rendering code extra calculations for scaling,
but it originates as being zoom. I feel that zooming should be done by
the plotters, not by the layout/renderer. Besides, delaying scaling
Attached the HTML. Sorry about forgetting them in the first place.
I also have to note that although the effects look promising (more
accurate and no FP operations) there is a drawback. It is fixed point
arithmetic and because of that you can apply any integer operation onto
it. Extra discipline is required that fixed point calculations only
involve proper scaled integer values. Sadly, C and GCC do not have the
ability to validate this requirement. Luckily, validity can be achieved
by using the operator overloading capability of C++. This implies that
at a given moment, the source has to be pulled through C++ to verify
proper fixed-point arithmetic usage.
This looks interesting. What are the red lines in the
point one from? A table cell background? Are the lines meant to be visible
or not? Can you send me the original HTML and image files?
The fixed point one obviously looks better in the animations, although,
the small red squares get bigger and smaller as it zooms in.