Open
Bug 1224093
Opened 9 years ago
Updated 2 years ago
Use Moz2D types in SVG filter code
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
NEW
People
(Reporter: n.nethercote, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
89.65 KB,
patch
|
Details | Diff | Splinter Review |
Let's convert a bunch of Thebes types to Moz2D types in SVG code.
Reporter | ||
Comment 1•9 years ago
|
||
This patch converts the following fields to Moz2D types: - nsFilterInstance: mTargetBBox, mUserSpaceToFilterSpaceScale, mFilterSpaceToUserSpaceScale - nsSVGFilterInstance: mTargetBBox, mUserSpaceToFilterSpaceScale, mFilterSpaceToUserSpaceScale, mUserSpaceBounds It also changes a lot of types in code related to those fields, particularly bounding boxes and clipRects. This required adding a few new functions that work with Moz2D types that are similar to existing functions that work with Thebes types. - BaseRect::ScaleInverse() (similar to gfxRect::ScaleInverse()) - RectToIntRect() (similar to GfxRectToIntRect(), but in gfx/2d/Rect.h to be next to the existing IntRectToRect()) - nsLayoutUtils::RectToRect() (similar to nsLayoutUtils::RectToGfxRect()) - SVGBBox::ToRect() (similar to SVGBBox::ToThebesRect())
Attachment #8686413 -
Flags: review?(jwatt)
Comment 2•9 years ago
|
||
Loss of precision is a much bigger issue for SVG than it is for HTML in general simply because transforms (particularly transforms with significant scaling) are very common in SVG. Previous work to convert to Moz2D types like this has resulted in precision loss bugs where people have noticed and reported broken rendering compared to Chrome/IE. I've halted my work on things like bug 984278 because of this. It seems like we may need SVG to do at least some of its intermediate calculations using double precision and convert at the point that we call Moz2D API.
Reporter | ||
Updated•9 years ago
|
Attachment #8686413 -
Flags: review?(jwatt)
Reporter | ||
Updated•8 years ago
|
Assignee: n.nethercote → nobody
Status: ASSIGNED → NEW
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•