Summary: | <canvas> lacks transform() and setTransform() | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ilmari Heikkinen <ilmari.heikkinen> | ||||||||||||||||
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||
Severity: | Normal | CC: | eric, oliver | ||||||||||||||||
Priority: | P2 | Keywords: | HasReduction, InRadar | ||||||||||||||||
Version: | 523.x (Safari 3) | ||||||||||||||||||
Hardware: | All | ||||||||||||||||||
OS: | All | ||||||||||||||||||
URL: | http://www.whatwg.org/specs/web-apps/current-work/multipage/section-the-canvas.html#transform | ||||||||||||||||||
Bug Depends on: | 17169 | ||||||||||||||||||
Bug Blocks: | |||||||||||||||||||
Attachments: |
|
Description
Ilmari Heikkinen
2007-12-25 10:09:59 PST
Created attachment 18109 [details]
Testcase for transform() and setTransform()
*** Bug 16630 has been marked as a duplicate of this bug. *** transform() is easy -- setTransform() is more difficult to do as it requires adding yet a nother set of platform specific methods. Created attachment 25424 [details]
add setTransform() support
This adds setTransform() support.
What to do on a CTM, that isn't invertible?
Checked behavior on paths that have been added before or after setTransform(), as well as save() and restore() arround setTransform().
The tests do some basic checks. What, if the given matrix is not invertible, is the path transformed with setTransform or only the context, does restore() restore the ctm ...
Created attachment 25462 [details]
add setTransform() support (2)
updated the patch. Avoids not-invertable CTM.
(In reply to comment #6) > Created an attachment (id=25462) [review] > add setTransform() support (2) > > updated the patch. Avoids not-invertable CTM. It's probably enough to check for a not-invertable CTM on the following 'drawing' and 'transformation' methods: scale, rotate, translate, transform, setTransform, beginPath, closePath, moveTo, lineTo, quadraticCurveTo, bezierCurveTo, arcTo, arc, rect, fill, stroke, clip, clipRect, fillRect, strokeRect, drawImage, drawImageFromRect, willDraw, drawTextInternal Created attachment 25788 [details]
setTransform() for Canvas
setTransform() for Canvas with a new LayoutTest.
Created attachment 25807 [details]
setTransform() for Canvas
Fixed a bug in isPointInPath and changed expected result of a LayoutTest. setTransform is a new property in fast/dom/Window/window-properties.html
Created attachment 25815 [details] setTransform() for Canvas Fixed a bug in setTransform(). http://azarask.in/projects/algorithm-ink/ is working again. Comment on attachment 25815 [details]
setTransform() for Canvas
r=me! yay!
Comment on attachment 25815 [details]
setTransform() for Canvas
wth, now that the setTransform test fails again. *grumble*
Comment on attachment 25815 [details]
setTransform() for Canvas
Am removing the review flag bit, and am going to see if i can work out why CG hates us
I am having difficulty believing this, but it looks like i might be seeing a codegen error... srsly wtf? Further investigation shows that gdb was (simply put) lying to me. unfortunately that means i still have no idea why this is failing. Created attachment 25828 [details]
setTransform() for Canvas
with a fix for Mac
Fixed r39079 |