Project

General

Profile

Bug #126

Box command - incompatibility issue

Added by Nick Morison about 4 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
02/05/2020
Due date:
% Done:

0%

Estimated time:
1:00 h
Affected version:

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

#1

Updated by Brian Flanagan over 3 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.

#2

Updated by Brian Flanagan over 3 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.
#3

Updated by David Baldwin over 2 years ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF