Safari lacks the canvas matrix transformation functions ctx.transform(m00,m01,m10,m11,dx,dy) and ctx.setTransform(m00,m01,m10,m11,dx,dy). http://www.whatwg.org/specs/web-apps/current-work/multipage/section-the-canvas.html#transform
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.
<rdar://5691316>
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