Bug 7965 - cairo_fill_extents gives bogus results for perfectly horizontal paths
Summary: cairo_fill_extents gives bogus results for perfectly horizontal paths
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: 1.2.5
Hardware: x86 (IA32) Linux (All)
: high blocker
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
Depends on:
Reported: 2006-08-23 05:11 UTC by Gustavo J. A. M. Carneiro
Modified: 2007-02-21 08:49 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

test program (730 bytes, text/plain)
2006-08-23 05:12 UTC, Gustavo J. A. M. Carneiro

Description Gustavo J. A. M. Carneiro 2006-08-23 05:11:10 UTC
In my test program, which draws a perfectly horizontal path, and then prints
stroke and fill extents:

fill: x1=32767,000000 y1=32767,000000 x2=-32768,000000 y2=-32768,000000
stroke: x1=-10,000000 y1=170,000000 x2=760,000000 y2=190,000000

It gives bogus results for the fill extents, as you can see.  If the path is not
perfectly horizontal then the fill extents get sane values.
Comment 1 Gustavo J. A. M. Carneiro 2006-08-23 05:12:04 UTC
Created attachment 6656 [details]
test program
Comment 2 Behdad Esfahbod 2007-02-20 16:16:58 UTC

Can you put your test case under a license like GPL please?   Just say so and I'll take care of the rest.
Comment 3 Behdad Esfahbod 2007-02-20 16:24:47 UTC
And also can you confirm that this is fixed in 1.3.14?
Comment 4 Behdad Esfahbod 2007-02-20 16:37:10 UTC
This was fixed in:

commit a8ca155f83098c02fb8d3acc57b0492d5b753d54
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Mon Sep 25 23:16:54 2006 -0700

    Fix stroke/fill extents bounding boxes
    Correctly return the transformed bounding box for stroke/fill extents,
    instead of just transforming the two corners separately.

When you license your test case, I'll add it to cairo's test suite to make sure we never regress.  Thanks.
Comment 5 Gustavo J. A. M. Carneiro 2007-02-21 02:20:33 UTC
Sure, make my test case GPL or whatever you want :)
Comment 6 Behdad Esfahbod 2007-02-21 08:49:43 UTC
Actually I found out about get-path-extents test and just added another case to that.  Thanks.

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.