Closed Bug 691646 Opened 8 years ago Closed 8 years ago

Pattern tile pixelated on patternTransform

Categories

(Core :: SVG, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla10

People

(Reporter: longsonr, Assigned: longsonr)

References

()

Details

Attachments

(1 file, 2 obsolete files)

Attached patch patch (obsolete) — Splinter Review
No description provided.
OS: Windows Vista → All
Hardware: x86 → All
Attachment #564442 - Flags: review?(dholbert)
Attachment #564442 - Attachment is patch: true
Assignee: nobody → longsonr
I've just realised the patch should be fabs(patternMatrix->xx) and fabs(patternMatrix->yy) in case someone has written scale(-40) which should invert the image as well as scaling it. The patch as written would not render scale(-40).
Comment on attachment 564442 [details] [diff] [review]
patch

Could you add a reftest for the situation described in comment 1?  (with inverting coming into play)  r=me with that.
Attachment #564442 - Flags: review?(dholbert) → review+
Attached patch address comments (obsolete) — Splinter Review
Attachment #564442 - Attachment is obsolete: true
Flags: in-testsuite+
And backed out as the reftest fails on Linux.
Attachment #564471 - Attachment is obsolete: true
Try run for 696085573f75 is complete.
Detailed breakdown of the results available here:
    https://tbpl.mozilla.org/?tree=Try&rev=696085573f75
Results (out of 9 total builds):
    success: 4
    warnings: 5
Builds available at http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/longsonr@gmail.com-696085573f75
Try run for 6b114ae3b4c4 is complete.
Detailed breakdown of the results available here:
    https://tbpl.mozilla.org/?tree=Try&rev=6b114ae3b4c4
Results (out of 9 total builds):
    success: 9
Builds available at http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/longsonr@gmail.com-6b114ae3b4c4
Whiteboard: [inbound]
Target Milestone: --- → mozilla10
antialiasing sucks when you're writing reftests :-(
Whiteboard: [inbound]
https://hg.mozilla.org/mozilla-central/rev/e05e1b35ebed
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Blocks: 697057
Looking back on this, I think we should have used patternMatrix->GetScaleFactors() to get the scale factors, instead of using patternMatrix->xx / patternMatrix->yy.  (assuming patternMatrix is non-singular)  Otherwise, I think rotations / skews could mess us up here.

Robert: am I missing something, or does that make sense?  I'm happy to file a followup on that, just wanted to sanity-check here first.
patternMatrix->ScaleFactors(true)
Yup, sorry for getting the wrong name there.

Actually I'm getting less sure about ScaleFactors, though, from looking at the impl... I'm not sure we'd always be able to pass the right value of "xMajor". (the existing code also only has 2 calls to ScaleFactors, with 'true' in both places, but I don't think that's necessarily right in this spot)

So, I think I rescind comment 13 (at least partly)... sorry for my confusion on this.
Depends on: 780880
You need to log in before you can comment on or make changes to this bug.