[Webkit-unassigned] [Bug 18209] New: SVG "rotate" transforms fail to obey the center point

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Mar 29 11:58:51 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=18209

           Summary: SVG "rotate" transforms fail to obey the center point
           Product: WebKit
           Version: 526+ (Nightly build)
          Platform: Macintosh
        OS/Version: Mac OS X 10.5
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: SVG
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: ksosjq102 at sneakemail.com


>From reading the spec, I would expect the following to produce an indeterminate
progress spinner which rotates 30 degrees every 0.5 seconds. In testing, it
rotates 30 degrees once, and then proceeds to go insane, jumping all over the
viewport. It looks like cX and cY are being incremented along with the angle
during each iteration, and I can't really think of any reason why that would be
desirable.  

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
    "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
    <g width="50" height="50" id="spinner" >
        <animateTransform attributeName="transform" type="rotate"
from="0,25,25" to="30,25,25" dur="0.5s" repeatCount="indefinite"
calcMode="discrete" additive="sum" accumulate="sum" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(0,25,25)"   fill-opacity="0.50" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(30,25,25)"  fill-opacity="0.05" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(60,25,25)"  fill-opacity="0.10" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(90,25,25)"  fill-opacity="0.15" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(120,25,25)" fill-opacity="0.20" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(150,25,25)" fill-opacity="0.25" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(180,25,25)" fill-opacity="0.25" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(210,25,25)" fill-opacity="0.30" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(240,25,25)" fill-opacity="0.35" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(270,25,25)" fill-opacity="0.40" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(300,25,25)" fill-opacity="0.45" />
        <polygon points="22,0 28,0 27,12 23,12" fill="#000" x="22"
transform="rotate(330,25,25)" fill-opacity="0.50" />       
    </g>
</svg>

I get the correct behavior if I remove the calcMode, additive and accumulate
attributes, but then everything is tweened, which is not what I want at all. No
other browser handles this any better, so I can't tell if I'm simply
misinterpreting the spec or if WebKit is genuinely broken in this regard. There
certainly should be a way to specify a non-tweened rotation transform.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list