BR: fillAll doesn't fill all

Yes, but the component doesn’t have integer bounds anymore, because it’s scaled. And when the boundary is between two pixels, there is a 50% alpha blend on the outside.
When you analyse the red line you see, its not the pure red, its a mix between the red and grey and and little black (background), and that is the intended behaviour of this rendering engine.

At least on Mac, on windows it might be pure red (with a little black), because of the other fillRect-bug (fillAll is based on fillRect), because on windows it uses physical pixels which is inconsistent, and the grey doesn’t alpha overlap.

Subtle drawing bug(?) -> fillRect (integer version) scaled - #7 by chkn

PS: but there might be a third factor, which is the clipping region, which seems to rely on integers only.

PS2: I checked the behaviour on windows, with 100% physical scaling, and I have no red lines at all.

  1. artefacts are normal
  2. windows fillAll works different (uses physical pixels boundaries)
  3. windows clipping works different then CoreGraphics clipping