cairo/util
Chris Wilson af9fbd176b Introduce a new compositor architecture
Having spent the last dev cycle looking at how we could specialize the
compositors for various backends, we once again look for the
commonalities in order to reduce the duplication. In part this is
motivated by the idea that spans is a good interface for both the
existent GL backend and pixman, and so they deserve a dedicated
compositor. xcb/xlib target an identical rendering system and so they
should be using the same compositor, and it should be possible to run
that same compositor locally against pixman to generate reference tests.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

P.S. This brings massive upheaval (read breakage) I've tried delaying in
order to fix as many things as possible but now this one patch does far,
far, far too much. Apologies in advance for breaking your favourite
backend, but trust me in that the end result will be much better. :)
2011-09-12 08:29:48 +01:00
..
cairo-fdr script: Fix script backend build. 2010-08-10 00:53:53 +03:00
cairo-gobject api: Extend cairo_antialias_t to include performace/quality hints 2011-08-30 15:17:38 +01:00
cairo-missing cairo-missing: Fix build 2011-09-04 16:23:37 -07:00
cairo-script Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-sphinx script: Fix script backend build. 2010-08-10 00:53:53 +03:00
cairo-trace Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
.gitignore stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
backtrace-symbols.c Remove useless checks for NULL before freeing 2011-07-31 16:46:36 +02:00
cairo-api-update Remove #ifdef munging since we once again support either #if or #ifdef. 2005-05-17 09:13:02 +00:00
cairo-view [util] Fix pangram 2008-12-24 22:29:59 -05:00
cairo.modules build: Remove glitz surface 2010-01-27 09:56:14 +01:00
COPYING Add a COPYING file to each aux. source directory 2008-10-31 16:14:14 +00:00
font-view.c [util] Add font-view 2009-06-02 18:16:48 +01:00
Makefile.am Introduce the cairo-missing library 2011-09-02 12:27:13 +02:00
malloc-stats.c [utils] Remove unused code 2009-08-10 12:47:37 -04:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
show-contour.c stroke: Convert the outlines into contour and then into a polygon 2011-08-15 10:31:47 +01:00
show-edges.c [util] Show total edge length in show-edges 2009-08-29 08:08:31 +01:00
show-events.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
show-polygon.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
show-traps.c util/show-traps: Cache the rendering of the traps+edges 2011-08-12 20:25:59 +01:00
trace-to-xml.c xml: Port to cairo_device_t 2010-01-22 23:01:50 +00:00
waterfall [util] Add waterfall 2008-12-26 16:38:26 -05:00
xml-to-trace.c Add xml surface 2009-08-29 17:07:34 +01:00
xr2cairo Fixed to not munge some internal cairot names, (such as cairo_traps_*) 2003-07-26 20:38:58 +00:00

Cairo Utilities
===============

There are a varieties of utilities we use with cairo.


backtrace-symbols
-----------------

This is a small shared library designed to be preloaded by the
linker and its purpose is to make the backtrace_symbols() function
of glibc produce more useful source reference information.

Build by:

	make backtrace-symbols.so

and use by:

	LD_PRELOAD=$PWD/backtrace-symbols.so app-to-run

This code should be contributed back to glibc at some point.


malloc-stats
------------

This is a small shared library designed to be preloaded by the
linker and its purpose is to make the malloc_stats() function
of glibc produce more useful information.

Build by:

	make malloc-stats.so

and use by:

	LD_PRELOAD=$PWD/malloc-stats.so app-to-run

This works best when backtrace-symbols is in use.  That is:

	LD_PRELOAD="$PWD/backtrace-symbols.so $PWD/malloc-stats.so" app-to-run


cairo-trace
-----------

This tool can be used to trace all the cairo function calls made by an
applications.  This is useful for either extracting a test case triggering
a bug from an application, or simply to get a general idea of how an
application is using cairo.


cairo-api-update and xr2cairo
-----------------------------

These two scripts were used to convert source code written for pre-1.0
cairo to newer API.  See $(top_srcdir)/PORTING_GUIDE for more information.

These files are obsolete now and may be removed in a future version.


cairo-view and waterfall
------------------------

These are two pycairo scripts useful for testing the toy font backend.