[Webkit-unassigned] [Bug 46051] SVG: Make RenderPath DRT output platform-independent

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 8 01:29:19 PDT 2010


--- Comment #16 from Nikolas Zimmermann <zimmermann at kde.org>  2010-10-08 01:29:18 PST ---
(In reply to comment #15)
> (From update of attachment 68073 [details])
> As discussed on IRC, the right way to go is to introduce a RenderSVGShape class whose repaintRectInLocalCoordinates can be dumped.
> The problem is that dumping RenderPath::repaintRectInLocalCoordinates, is that it's platform-dependant, as Path::boundingBox is used.
> As first step, I'd introduce RenderSVGShape : public RenderPath (which should be renamed and moved to rendering/svg/RenderSVGPath first)
> and let SVGCircle/RectElement etc. create RenderSVGShape instead of RenderSVGPath.
> Once that's done, we need to introduce platform-dependant ways to create rects, circles, instead of the home-brewn code in Path.cpp (addEllipse, etc.)
> Then we need to write a method which calculates the circle/rect/etc. boundaries in a _cross platform_ fashion.
> Then RenderSVGShape can use this new logic, and inherit from RenderSVGModelObject, and be completly decoupled from RenderSVGPath.
> Once that's done the DRT problem vanishes.

Ok, we had another discussion. This approach is fine.
We'll just move SVG away from using the static Path::create* methods, and let them use Path::addEllipse etc. These methods already ask their platform specific implementations, and we don't need to decompose ellipses to paths etc. on our own.

Andreas patch is just fine!
I'll upload a baseline for mac, soon.

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

More information about the webkit-unassigned mailing list