Summary: | Improve filtering handling in cairo-pattern.c | ||
---|---|---|---|
Product: | cairo | Reporter: | Owen Taylor <otaylor> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 1.5.17 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | The patch |
Description
Owen Taylor
2008-04-05 08:46:57 UTC
Created attachment 15703 [details] [review] The patch (In reply to comment #0) > Suggest this for after 1.6. Sounds good. This looks quite useful. Your comment suggests that should be at a minimum two separate commits. Two obviously different things you described are: > actually applies the => NEAREST optimization in > _cairo_pattern_acquire_surface(). and > The patch also removes the hack, since it doesn't seem consistent > with other internal API's in cairo and I can't find any other usages. It's funny how that word "also" describing a patch almost always means the patch deserves to be split. And of course, that might be as simple as "git add -p", (or maybe even easier since there are separate files involved here). Great to have you back hacking on cairo, Owen! -Carl Not going to redo the patch at the moment, but for reference, the "also" hunk is:
@@ -1677,10 +1735,7 @@ _cairo_pattern_acquire_surface_for_surface (cairo_surface_pattern_t *pattern,
return status;
/* If we're repeating, we just play it safe and clone the entire surface. */
- /* If requested width and height are -1, clone the entire surface.
- * This is relied on in the svg backend. */
- if (attr->extend == CAIRO_EXTEND_REPEAT ||
- (width == (unsigned int) -1 && height == (unsigned int) -1)) {
+ if (attr->extend == CAIRO_EXTEND_REPEAT) {
x = extents.x;
y = extents.y;
width = extents.width;
Which has to be applied *after* the rest of the patch.
The cairo-svg-surface anbd cairo-win32-printing-surface changes
are logically tied to the rest of the patch, since it's not valid to
make the => NEAREST optimization if the image is going to be used on
a SVG surface or printer.
> Great to have you back hacking on cairo, Owen!
Don't expect anything long term, just trying to unbreak my desktop
at the moment, and cairo is a great tool for writing RENDER test
cases. :-)
|
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.