Find a file
Owen Taylor 8f19aaf9a8 Add a function to test whether a cairo_operator_t is bounded (does nothing for 0 src/mask)
cairoint.h: Add a helper function to take clearing areas that are outside the source/mask but are cleared by unbounded operations.
src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): Use _cairo_surface_composite_fixup_unbounded() as needed.
src/cairo-image-surface.c src/cairint.h: Keep track of whether the surface has a clip or not ... we need this for determining when we can bypass an intermediate mask for composite_trapezoids().
Create an intermediate mask of the right size with pixman_add_trapezoids() and composite that.
When rendering with an unbounded operator, create the intermediate mask ourselves and render with ADD to that, then composite the result.
Create an intermediate surface the size of the extents, render the glyphs to that then composite the results.
Add the size of the glyph
Compute the size of the glyph mask, then use _cairo_surface_composite_fixup_unbounded().
Use the right mask format. (Unrelated bugfix)
New function taking a drawing function as a parameter to encapsulate shared logic between compositing trapezoid, glyphs, and masks.
Use _cairo_gstate_clip_and_composite(). Also fix extents computations for unbounded operators.
src/cairo-clip.c src/cairo-clip-private.h (_cairo_clip_combine_to_surface): Add the destination as an extra parameter to allow combining to an intermediate surface.
tests/unbounded-operator.c tests/Makefile.am: Add a test for the operation of the 6 unbounded operators against different shapes.
tests/clip-operator.c tests/Makefile.am: Add a test that tests surface clipping with different shapes against all the operators.
Make use OVER like the name and description. With fixed semantics, SOURCE does something different.
2005-08-08 13:46:11 +00:00
doc Remove CAIRO_BEGIN_DECLS and CAIRO_END_DECLS which don't belong here. 2005-08-05 10:46:40 +00:00
pixman Fix problems in render fb implementation found by rendercheck: 2005-08-05 22:17:08 +00:00
src Add a function to test whether a cairo_operator_t is bounded (does nothing for 0 src/mask) 2005-08-08 13:46:11 +00:00
test Add a function to test whether a cairo_operator_t is bounded (does nothing for 0 src/mask) 2005-08-08 13:46:11 +00:00
util Remove #ifdef munging since we once again support either #if or #ifdef. 2005-05-17 09:13:02 +00:00
.cvsignore Increment CAIRO_VERSION to 0.2.0. 2004-10-27 13:13:39 +00:00
acinclude.m4 configure.in Makefile.am docs/Makefile.am docs/public/*: Add framework for doing docs via gtk-doc. 2005-01-27 11:35:25 +00:00
AUTHORS Add bug for cairo_show_surface under non-default CTM. 2005-02-10 07:46:46 +00:00
autogen.sh Bump automake_min_vers up to 1.7 since we clearly don't work with 1.4 anymore. 2005-08-05 15:01:55 +00:00
BUGS Remove several bugs that have been fixed. 2005-08-06 17:00:59 +00:00
cairo.pc.in When we created a DC/bitmap pair, delete the DC before the Bitmap so that the Bitmap will be released from the DC and can be destroyed. (Reported by Hans Breuer) 2005-02-24 08:20:14 +00:00
ChangeLog Add a function to test whether a cairo_operator_t is bounded (does nothing for 0 src/mask) 2005-08-08 13:46:11 +00:00
CODING_STYLE Add a missing word. 2005-07-07 01:15:21 +00:00
configure.in Fix for bug #3951: 2005-08-03 10:32:50 +00:00
COPYING Fix typo: LPGL->LGPL. 2004-11-29 18:25:23 +00:00
COPYING-LGPL-2.1 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
COPYING-MPL-1.1 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
gtk-doc.make Re-synch with latest from gtk-doc CVS tree. 2005-05-24 16:08:39 +00:00
INSTALL Switched to autotools. Dropped XrPush/PopGroup. Supports non-X Xc rendering. 2003-04-17 13:24:29 +00:00
Makefile.am New public header file. 2005-08-01 13:33:47 +00:00
NEWS Added notes for snapshot 0.6.0 2005-07-28 11:51:38 +00:00
PORTING_GUIDE Added porting guide to help with transition to cairo 0.5 API. 2005-05-17 18:39:56 +00:00
README Switch from broken cworth@isi.edu address to canonical cworth@cworth.org address. 2005-02-22 11:35:03 +00:00
RELEASING CC gnome-announce-list@gnome.org on cairo release announcements. 2005-07-28 15:38:50 +00:00
ROADMAP Remove several bugs that have been fixed. 2005-08-06 16:57:14 +00:00
TODO Remove several bugs that have been fixed. 2005-08-06 16:57:14 +00:00

Cairo - Multi-platform 2D graphics library
http://cairographics.org

Compiling
---------
See the INSTALL document for build instructions.

Description
-----------
Cairo is a vector graphics library with cross-device output
support. Currently supported output targets include the X Window
System and in-memory image buffers. PostScript and PDF file output is
planned. Cairo is designed to produce identical output on all output
media while taking advantage of display hardware acceleration when
available (eg. through the X Render Extension).

Cairo provides a stateful user-level API with capabilities similar to
the PDF 1.4 imaging model. Cairo provides operations including
stroking and filling Bezier cubic splines, transforming and
compositing translucent images, and antialiased text rendering.

Cairo was once named Xr, (or Xr/Xc), so if you came looking for that
software, you've found it.

Dependencies
------------
Cairo currently requires the following supporting libraries:

	libpixman
	Xft2
	fontconfig
	freetype2

Documentation
-------------
There's not much documentation yet apart from the cairo.h header
file. We'll be correcting that shortly.

In the meantime, the cairo-demo module in CVS provides a few example
programs using cairo. These may be helpful to a programmer just
beginning with cairo. Also, familiarity with the PostScript imaging
model will help in understanding cairo.

History
-------
Cairo was originally developed by Carl Worth <cworth@cworth.org> and
Keith Packard <keithp@keithp.com>. Many thanks are due to Lyle Ramshaw
without whose patient help our ignorance would be much more apparent.

Mailing List
------------
If you have trouble with cairo or you have some ideas for how it could be
improved, please feel free to send a message to cairo@cairographics.org

Cairo is still under active development and all discussion happens on
that list. So if you want to lurk or, (even better), take part in the
development, take a look. Subscription information and archives are
available:

	http://cairographics.org/cgi-bin/mailman/listinfo/cairo