Ticket Created
over 3 years ago

WERETECH-11430

Connect IQ simulator drawArc() leaves artifacts when anti-aliasing turned on.

I think I discovered a bug in the Connect IQ simulator (v4.0.3) drawArc() behavior when anti-aliasing is turned on.  

In the first screenshot (link), an arc with less than 90 degrees span is drawn (0-5sec location).

artefact screenshot

Some undesired artefacts of drawing that arc appear from the 6'o clock to 9'o clock position.  

It doesn't matter what the span of the arc being drawn is, as long as it is <90 deg, the same artefacts appear.

When the drawn arc span is > 90 deg, as in the 2nd screenshot there are no artefacts.

no artefact screenshot

Now, this happens on screen sizes from 218x218 to 280x280 pixels, but not on 390x390 displays, but it may just have to do with the radius of the arc.

I didn't try other sizes.  Also it doesn't happen on an actual watch display, although I only have a 218x218 model

so I can't say for sure for other watch models.

As I mentioned, the bug does not happen when anti-aliasing is turned off.

Parents
  • Hey . I tried different variations of the following code and wasn't able to reproduce.  Would you mind sending us the code for your app or at least the view to [email protected]? This will make it easier for us to see what we are missing when trying to reproduce.

    function onUpdate(dc) {
        dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_BLACK);
        dc.clear();
    
        dc.setAntiAlias(true);
        dc.setPenWidth(2);
        dc.setColor(0x55FFFF, 0x55FFFF);
        dc.drawArc(dc.getWidth()/2,dc.getHeight()/2,100, 1, 89, 75);
    }

Comment
  • Hey . I tried different variations of the following code and wasn't able to reproduce.  Would you mind sending us the code for your app or at least the view to [email protected]? This will make it easier for us to see what we are missing when trying to reproduce.

    function onUpdate(dc) {
        dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_BLACK);
        dc.clear();
    
        dc.setAntiAlias(true);
        dc.setPenWidth(2);
        dc.setColor(0x55FFFF, 0x55FFFF);
        dc.drawArc(dc.getWidth()/2,dc.getHeight()/2,100, 1, 89, 75);
    }

Children
No Data