Ticket Created
over 3 years ago

WERETECH-11737

red circle drawn around 390x390 round devices in the simulator

Hey, I am working a few days around my new watch face design and there's a problem I've encountered only in the Venu and the Venu Mercedes-Benz edition, I've used

dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_TRANSPARENT);
        dc.drawCircle(dc.getWidth()/2, dc.getHeight()/2, dc.getWidth()/1.8);
        dc.fillCircle(dc.getWidth()/2, dc.getHeight()/2, dc.getWidth()/1.8);
to get a black background (the reason for the /1.8 was because I had the problem with other devices but using '/1.8' instead of '/2' solved it). In those devices I get a red circle around the device's screen: https://ibb.co/4ZZcnqT (kinda hard to see but I afraid that if the problem is not with the simulator, then it will be really clear in real life and I will get bad reviews for this). Did anyone else encountered the same problem, anyone knows how to solve it? 

Also if anyone has a Venu or Venu Mercedes-Benz edition and can check for me if this problem occurs in real life device and not only in the simulator It will be really appreciated. Here's the link to the prg file - https://filebin.net/pfnfwpy1kkqi5nab .

TY in advance for anyone that will try to help! It is the very last thing I need to fix before uploading it to the connect iq shop!

Parents
  • This situation doesn't seem to actually require drawing a circle. 1) As Jim pointed out, you should set the colors before you call dc.clear() 2) Even though the screen is physically a circle, you should be able to draw outside of the circular bounds of display anyway (at least horizontally). e.g. if you wanted to manually clear the screen with a given color without using dc.clear() for some reason, you could just draw a 390 x 390 square (but it's easier to use dc.clear()) 3) If you ever have issues drawing an actual circle due to the fact that the displays all have even numbers of pixel width/height, the solution is not to divide the width by 1.8, but it's to draw 4 overlapping circles: forums.garmin.com/.../dc-drawcircle-inside-screen-edge-even-numbered-screen-height-width
Comment
  • This situation doesn't seem to actually require drawing a circle. 1) As Jim pointed out, you should set the colors before you call dc.clear() 2) Even though the screen is physically a circle, you should be able to draw outside of the circular bounds of display anyway (at least horizontally). e.g. if you wanted to manually clear the screen with a given color without using dc.clear() for some reason, you could just draw a 390 x 390 square (but it's easier to use dc.clear()) 3) If you ever have issues drawing an actual circle due to the fact that the displays all have even numbers of pixel width/height, the solution is not to divide the width by 1.8, but it's to draw 4 overlapping circles: forums.garmin.com/.../dc-drawcircle-inside-screen-edge-even-numbered-screen-height-width
Children
No Data