Find a file
Kristian Høgsberg 17ec6f1482 The overall idea of this rewrite is that we want to pass the source pattern all the way down into the backends. The motivation for this is that not all backends want a surface for the source operand, and by passing the pattern down, backends can choose to convert it to a surface if they need that.
The patch removes the create_surface function pointer from the surface vtable and moves much of that code into a couple of helper functions. The composite, compsite_trapezoids, and show_glyphs backend functions are updated to take a cairo_pattern_t instead of a surface as the source.
Change these functions to not create a surface for the pattern and just pass the pattern down to the backend functions.
New function to translate a set of trapezoids.
Break out the code to adjust and restore surface transformation and repeat settings into _cairo_pattern_prepare_surface and _cairo_pattern_restore_surface.
Split cairo_pattern_create_for_surface into an init function and a create function.
Utility functions to create a surface from a pattern.
Update these backends to work with the new pattern API. Glitz work by David Reveman.
Update these to pass through the new set of args.
Update this reference image as we now render it correctly.
2005-01-27 10:46:20 +00:00
doc/reference Change cairo_font_t to refer to a font scaled to a particular output device resolution. 2005-01-21 14:33:47 +00:00
pixman Use 32-bits for pixman_bits_t, even on 64-bit platforms. This should fix bug #2335 as well as rendering problems seen on 64-bit platforms. 2005-01-26 09:10:15 +00:00
src The overall idea of this rewrite is that we want to pass the source pattern all the way down into the backends. The motivation for this is that not all backends want a surface for the source operand, and by passing the pattern down, backends can choose to convert it to a surface if they need that. 2005-01-27 10:46:20 +00:00
test The overall idea of this rewrite is that we want to pass the source pattern all the way down into the backends. The motivation for this is that not all backends want a surface for the source operand, and by passing the pattern down, backends can choose to convert it to a surface if they need that. 2005-01-27 10:46:20 +00:00
util Changed names of all cairo_get_* functions to cairo_current_*. Added magic DEPRECATE macro so that using the old names will give useful warnings/errors. Bumped version number to 0.1.1 2003-09-04 06:52:01 +00:00
.cvsignore Increment CAIRO_VERSION to 0.2.0. 2004-10-27 13:13:39 +00:00
AUTHORS Update mail address 2005-01-25 12:25:29 +00:00
autogen.sh Change "head -1" to more standard "head -n 1". 2004-12-21 12:57:33 +00:00
BUGS Add bugs on cairo_surface_create_for_image, bad names for cairo_font_set_transform and cairo_font_current_transform, segfault on AMD64. 2005-01-19 05:32:32 +00:00
cairo.pc.in Track various renamings. 2005-01-20 08:28:54 +00:00
ChangeLog The overall idea of this rewrite is that we want to pass the source pattern all the way down into the backends. The motivation for this is that not all backends want a surface for the source operand, and by passing the pattern down, backends can choose to convert it to a surface if they need that. 2005-01-27 10:46:20 +00:00
configure.in Track changes to glitz 2005-01-25 12:21:32 +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
INSTALL Switched to autotools. Dropped XrPush/PopGroup. Supports non-X Xc rendering. 2003-04-17 13:24:29 +00:00
Makefile.am Update since directory changed after server compromise. 2005-01-21 11:20:55 +00:00
NEWS Increment CAIRO_VERSION to 0.3.0 2005-01-21 12:48:11 +00:00
README Add attribution for many people who have made generous contributions to cairo. This list was generated by sifting through the ChangeLog. Please let me know if I have missed anyone. 2004-02-24 10:45:26 +00:00
RELEASING Add instructions for handling the new -head suffix of CAIRO_VERSION at release-time. 2005-01-23 12:49:56 +00:00
TODO A NULL cairo_t * is not sane. 2005-01-12 14:40: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@isi.edu> 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