cairo/pixman
Carl Worth 9a5dfe1415 Fix implementation of radial gradients for inner radius != 0
The previous implementation fell apart quite badly when neither radius
value was equal to 0.0. I derived the math from scratch, (much thanks to
Vincent Torri <vtorri@univ-evry.fr> for guiding me to a simpler derivation
than I was doing originally), and it's working much better now without
being any slower, (in fact, cairo-perf shows speedup of 1.05x to 1.58x on
my laptop here).

This work also provides groundwork for defining the behavior of radial
gradients where neither circle is wholly contained within the other, (though
we haven't done that definition yet---it will require a new test case and a
very little bit of work on the implementation).

This is a fix for the following bug report:

	Radial Gradients with nonzero inner radius misplace stops
	https://bugs.freedesktop.org/show_bug.cgi?id=7685
2007-03-01 14:53:48 -08:00
..
src Fix implementation of radial gradients for inner radius != 0 2007-03-01 14:53:48 -08:00
.gitignore Rename .cvsignore to .gitignore. Add *~ and *.o. 2006-02-15 15:00:26 -08:00
AUTHORS Added pixman_format_get_masks and fixed a few format issues 2004-09-12 06:06:50 +00:00
autogen.sh Allow names of all autofoo programs to be overridden via environment variables. 2003-12-08 18:07:56 +00:00
ChangeLog Use uint32_t instead of uint; 2006-01-09 10:29:22 +00:00
ChangeLog.libic Allow names of all autofoo programs to be overridden via environment variables. 2003-12-08 18:07:56 +00:00
ChangeLog.libpixregion Allow names of all autofoo programs to be overridden via environment variables. 2003-12-08 18:07:56 +00:00
ChangeLog.slim Require __GNUC__ >= 3 before defining slim_hidden_def macro 2003-09-24 06:20:38 +00:00
configure.in Port MMX code from xserver to pixman. 2005-08-16 16:50:25 +00:00
COPYING Merge of libic, slim AUTHORS, COPYING, README 2003-12-09 15:59:18 +00:00
INSTALL Initial import of libpixregion 2003-02-25 08:05:26 +00:00
libpixman.pc.in libpixman is the pixel manipulation library 2003-12-10 13:29:40 +00:00
Makefile.am From Keith Packard <keithp@keithp.com>, 2005-08-10 12:36:51 +00:00
NEWS fix typo 2005-08-01 06:57:09 +00:00
README libpixman is the pixel manipulation library 2003-12-10 13:29:40 +00:00
RELEASING Add -head to LIBPIXMAN_VERSION after tagging with SNAPSHOT_0_1_6. 2005-07-28 14:58:25 +00:00
TODO Update date since 0.1.2 release didn't get pushed out until today. 2004-10-27 09:37:34 +00:00
update.pl fixes for wrong order of renames 2003-12-10 15:41:14 +00:00

libpixman - Pixel manipulation library

libpixman is a merge of libpixregion and libic.
It also includes the slim headers.

----------------------------------------------------------------------
libpixregion - Pixel region Library

libpixregion is a generic library for manipulating pixel regions. A
PixRegion is a set of Y-X banded rectangles that cover the desired
region.

The original code for libxregion was part of the reference X server
implementation of the X Window System. A modified copy of the code
also exists in the Xlib client library. libpixregion was formed so
that both the X server and client libraries could share common code
for region manipulation.

libpixregion is also intended to be applicable outside of the X Window
System. The public interface of libpixregion does not depend on any
part of the X Window System.

----------------------------------------------------------------------
libic - Image compositing library

libic is a generic image compositing library. libic provides
Porter/Duff compositing of images and implicit mask generation for
geometric primitives including trapezoids, triangles, and rectangles.

The semantics of libic are designed to precisely match the
specification of the X Render extension. In fact, the initial
implementation of libic was lifted from the reference implementation
of RENDER from the X server.

However, libic is intended to be useful independent of the X Window
System. The public interface exported by libic does not contain any
X-specific data structures.

Carl Worth
cworth@isi.edu

Keith Packard (keithp@keithp.com) originally wrote all the original
RENDER code that was yanked out to become libic. Keith also provided
impetus and guidance in the development of libic.

----------------------------------------------------------------------
slim - Shared Library Interface Macros