Closed Bug 380338 Opened 18 years ago Closed 17 years ago

Transformations affect path construction

Categories

(Core :: Graphics: Canvas2D, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: ian, Assigned: takenspc)

References

()

Details

Attachments

(1 file, 1 obsolete file)

STEPS TO REPRODUCE 1. Create a path. 2. Set a transformation. 3. Fill the path. ACTUAL RESULTS Transformation is ignored. EXPECTED RESULTS Transformation should have an affect. STEPS TO REPRODUCE 1. Set a transformation. 2. Create a path. 3. Undo the transformation. 4. Fill the path. ACTUAL RESULTS Transformation is applied. EXPECTED RESULTS Transformation should have no affect.
I believe bug 338640 is relevant here.
Attached patch Possible fix (obsolete) — Splinter Review
When the path construct, reset the transform # current transform doesn't affect path construction. Before the path fill/stroke/clip, copy the path from context, then add context the path. # current transform affect path construction. After the path fill/stroke/clip, reset the transform, then add context the path again. # current transform doesn't affect path construction.
Attached patch PatchSplinter Review
Patch with correct |diff| options and some comments.
Assignee: nobody → taken.spc
Attachment #269582 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #271053 - Flags: review?(vladimir)
I think this is the most significant canvas interoperability issue now, and believe it should be resolved (one way or another) before Firefox 3. Opera implements what the spec says - transformations are applied at fill/stroke/etc time, not at path construction time. Firefox and Safari don't - transformations are applied at path construction time. (See also <http://bugs.webkit.org/show_bug.cgi?id=13669>.) It would be great if FF3, Opera 9.5 and Safari 3 could all agree and work the same in this case.
Flags: blocking1.9?
I'm pretty sure we had a discussion on the whatwg list about this and decided that what fx and safari are doing is correct (the spec is very wrong; applying the transform at draw time isn't very useful), but I'll post to the whatwg mailing list to verify that before WONTFIX'ing this.
Flags: blocking1.9? → blocking1.9-
No decision was made that I can recall. The last I remember discussing this, I was leaving it up to the browser vendors to come to a decision. (Their are arguments in favour of both techniques, the spec/Opera and Webkit/Safari.)
Renominating given comment 8.
Flags: blocking1.9- → blocking1.9?
Plusing this but only as a reminder to send mail to the whatwg list; I am 95% certain that our behaviour won't change.
Flags: blocking1.9? → blocking1.9+
Since you won't change, I've changed the spec instead... I guess Opera will have to change to match.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
Comment on attachment 271053 [details] [diff] [review] Patch cancel the review request: this bug was marked as invalid.
Attachment #271053 - Flags: review?(vladimir)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: