matplotlib/matplotlib — pull request #3777 by mdboom (2014-11-10 20:36:02+00:00)
Title: Upgrade agg to SVN version

As a first step toward doing image interpolation in floating-point, and having (optional) floating-point rendering buffers for more accurate alpha blending, this upgrades our included copy of Agg to the current SVN version here: http://sourceforge.net/p/agg/svn/HEAD/tree/

This version of Agg is a fork of Agg 2.4, so it is still under a BSD license.

A few caveats: There is a regression in the alpha blending on RGBA 32-bit (8-bit-per-plane) buffers caused by doing the alpha blending calculation in 8-bits rather than 32-bits as it was before. I've communicated on the Agg mailing list about a solution, but I can't find the "right way" to do it. So, instead, I've included the one-off solution that uses the old calculation from Agg-2.4 verbatim.

The core Agg developers seem to see no need for releasing tagged versions of Agg. (Again, discussed on the mailing list). This may be a problem for some packagers, since matplotlib can no longer be built against the "system" Agg. Currently, Fedora uses a system Agg for its matplotlib package, but Debian, Arch, MacPorts, and Homebrew do not.