Bug #126
openBox command - incompatibility issue
0%
Description
In the below code all 4 sides of the box are visible on screen in Aoz, however in Amos only the left and top are visible (so the box is being drawn 1 pixel too wide and 1 pixel too high):
#manifest:"amiga"
#fullScreen:true
#splashScreen:false
screen open 0,320,200,16,lowres
box 0,0 to 320,200 // (Shows all 4 sides on Aoz, On Amos box 0,0 to 319,199 shows all 4 sides).
wait key
Updated by Brian Flanagan about 4 years ago
- Status changed from New to Feedback
- Affected version changed from 0.9.4 to Beta RC2
This still affects Beta RC2.
With closer inspection, it appears that the size is not the issue, but rather the origin.
With the origin at 0,0, you only see about half of the border.
With it at 1,1, then you can see the whole border at the upper left.
Updated by Brian Flanagan about 4 years ago
- Estimated time set to 1:00 h
Related to issue 170.
Re-tested in Beta RC2. Looking better, but still incorrect.
It was actually in error that you were seeing all 4 sides.
A 320 x 200 display goes from 0,0 to 319,199, so if you're seeing the right and bottom edge, that is a bug! (The bottom right edges should have been clipped.)
You should actually be testing:
Box 0,0 To 319,199 // for a full-sized box on a 320 x 200 screen.
Also, your results won't be entirely accurate until the rendering engine has been updated, since the lines drawn are too wide. You can tell from the following example, however, that the ORIGIN is offset by 1 pixel in both the X and Y direction.
NOTES:
1. On the white box, the thin lines top and left, due to upper left coordinates being
offset by -1 pixels in both x and y direction.
2. The RED box is all uniform in thickness, but fully over-writes the top and left edges
of the white box. This further proves that the origin is offset by -1,-1.
3. When the boxes are drawn 2 pixels apart, the red box looks uniform in size, but you now see a
thin white line above and to the left. This further proves that the origin is offset by -1,-1.
4. Again with the boxes drawn 2 pixels apart, the RED and YELLOW boxes appear completely uniform,
however, the white box is still offset by 1 pixel top and left.
5. The problem exists in both Amiga and AOZ modes, however it appears that the AOZ mode is MORE
correct. You can see the black line between the colored lines. The lines, however, are still
drawn too thick in both manifests. In other words, the black line in-between should be the
same thickness as the box lines.
#manifest:"amiga"
#fullScreen:true
#displayWidth: 320
#displayHeight: 200
#splashScreen:false
Screen open 0,320,200,16,lowres
If Manifest$="amiga"
Palette 0,$FFF,$F00,$FF0 // black, white, red
Else
Palette 0,$FFFFFF,$FF0000,$FFFF00 // black, white, red
End If
cls 0 : Curs Off : Pen 1 : Paper 0
Ink 1 : Box 0,0 to 319,199 // White box. (Full screen area.)
Wait Key
Ink 2 : Box 1,1 to 318,198 // Red box should be just inside the white box.
Wait Key
Ink 3 : Box 2,2 To 317,197 // Yellow box should be just inside the red box.
Locate 1,1 : Print Screen Width;" x ";Screen Height
wait key
cls 0
Ink 1 : Box 0,0 to 319,199 // White box. (Full screen area.)
Wait Key
Ink 2 : Box 2,2 to 317,197 // Red box should be just inside the white box.
Wait Key
Ink 3 : Box 4,4 To 315,195 // Yellow box should be just inside the red box.
Updated by David Baldwin about 3 years ago
- Status changed from Feedback to Resolved