[cairo-bugs] [Bug 32215] Large gradients do not render
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sun Jan 2 10:12:59 PST 2011
https://bugs.freedesktop.org/show_bug.cgi?id=32215
Andrea Canciani <ranma42 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #13 from Andrea Canciani <ranma42 at gmail.com> 2011-01-02 10:12:57 PST ---
(In reply to comment #12)
> (In reply to comment #11)
> > Would this be enough for inkscape to work correctly? Do you have other patterns
> > failing?
>
> At the moment, no other failing test cases. Thanks a lot!
I just pushed to master a branch containing basically the same changes as the
branch you tested.
The three "interesting" commits are:
commit 51594d9787905618de608a367c3a5fc0544c52e3
Author: Andrea Canciani <ranma42 at gmail.com>
Date: Fri Dec 17 11:04:41 2010 +0100
matrix: Cairo matrix to pixman transform/offset conversion
Xlib, XCB and image use the same code to convert a cairo_matrix_t to a
backend-specific transform.
The code did not handle correctly some matrices, thus a new function
that performs the conversion in a more generic way was added and used
in the backends instead of fixing the repeated code.
Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215
commit 38dce5d14473e1106c8ea7a67b9be0f400d442a2
Author: Andrea Canciani <ranma42 at gmail.com>
Date: Fri Dec 17 11:03:03 2010 +0100
pattern: Factor out pattern rescaling
The same code was duplicated (incorrectly and with some minor
differences) in pattern, image, xlib and xcb.
_cairo_gradient_pattern_max_val() abstracts that code in a function
that can be used whenever a gradients extremes need to be rescaled to
fit within a given range.
Fixes huge-linear, huge-radial.
Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215
commit 200e147322a7a17dec91ad5f678a07fdfaf38de2
Author: Andrea Canciani <ranma42 at gmail.com>
Date: Fri Dec 17 11:04:53 2010 +0100
pattern: Use double precision for gradient extreme objects
Using double precision for gradient extreme objects ensures that they
are preserved as specified when constructing the gradient pattern.
Fixes huge-linear, huge-radial.
Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215
Together they make it possible for backends that can handle the full double
range to have any gradient and for pixman-based backends
(image,xlib,xcb,fallbacks) to handle a much wider range of gradients and
transformation matrices.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list