Open Bug 1338393 Opened 3 years ago Updated 2 years ago
Filter: have the coordinates in the Filter
Description be independent of the filter resolution
59 bytes, text/x-review-board-request
Bug 1287492 comment 26 mstange said: It would be really nice to have the coordinates in the FilterDescription be independent of the filter resolution (for example in float user space pixels) and then convert to actual pixels only during painting, when we create FilterNodes from the FilterDescription (in FilterSupport). At that point we'd be able to look at the DrawTarget to know what resolution we should use for the intermediate surfaces and the FilterNode coordinate attributes.
1. nsSVGFilterInstance::nsSVGFilterInstance(const nsStyleFilter& aFilter, nsIFrame* aTargetFrame, nsIContent* aTargetContent, const UserSpaceMetrics& aMetrics, const gfxRect& aTargetBBox, const gfxSize& aUserSpaceToFilterSpaceScale, const gfxSize& aFilterSpaceToUserSpaceScale) Remove the last two scale vectors. How about aMetrics? 2. nsCSSFilterInstance cssFilterInstance(aFilter, shadowFallbackColor, mTargetBounds, mFrameSpaceInCSSPxToFilterSpaceTransform) Remove the last parameter.
1. All attributes store in FilterPrimitiveDescription need to be float type. 2. All attributes store in FilterPrimitiveDescription need to be in user-space(not filter space) 3. FilterPrimitiveDescription::PrimitiveSubregion should return Rect, instead of IntRect. Subregion should be in user space, not filter space 4. FilterPrimitiveDescription::FilterSpaceBounds should be rename as UserSpaceBounds and return Rect instead 5. FilterPrimitiveDescription generators(nsSVGFilterInstance/nsCSSFilterInstance) should not bring userspace-to-filterspace scale vectors into FilterPrimitiveDescription. 6. FilterSupport is in charge of convert user-space attributes in FilterPrimitiveDescription to filter-space attributes in FilterNodes.
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.