Bug 15389

Summary: Offsets when using part of a source image
Product: cairo Reporter: Owen Taylor <otaylor>
Component: generalAssignee: 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:

Description Owen Taylor 2008-04-07 07:50:27 UTC
As promised in bug 15349:

_cairo_pattern_acquire_surface_for_surface() sometimes will acquire
only part of the source surface. If this part doesn't start at 0,0,
howevever, there is no adjustment to attr->matrix or attr->x/y offset.

That has to be a bug.

First step would be coming up with a test case. It might be as simple
as drawing an image surface to a native surface at a point with
x,y < 0. (Wouldn't someone have noticed, though???) For a final test
case you'd want to test with a couple of different transforms ..
integer offset, 90 degree rotation, arbitrary rotaton.
Comment 1 Chris Wilson 2008-09-28 10:15:09 UTC
It's odd that nobody has reported a problem, considering that the clone_similar() interface required that the cloned surface be the same size as the original (so that no offsets where required and attr->matrix could be used unadjusted) but this was blithely ignored in the win32 backend...

Anyway, I had to fix this as part of extracting a sub-region to resolve the large-source XFAIL.

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.