cairo/boilerplate
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
..
.gitignore [boilerplate] Add make-...-constructors to .gitignore 2009-07-14 19:11:56 +01:00
cairo-boilerplate-beos.cpp whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-directfb.c boilerplate: Use correct flag type in DFBWindowDescription 2011-06-20 11:43:38 +02:00
cairo-boilerplate-drm.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-egl.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-getopt.c whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-getopt.h [cairo-boilerplate] Silence compiler warning. 2008-06-13 21:34:43 +01:00
cairo-boilerplate-glx.c perf 2011-06-02 08:57:13 +01:00
cairo-boilerplate-pdf.c test: Fix compilation on win32 2011-06-14 16:46:32 +02:00
cairo-boilerplate-private.h test: Fix compilation on win32 2011-06-14 16:46:32 +02:00
cairo-boilerplate-ps.c test: Fix compilation on win32 2011-06-14 16:46:32 +02:00
cairo-boilerplate-qt.cpp whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-quartz.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-scaled-font.h whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-script.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-skia.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-svg.c test: Fix compilation on win32 2011-06-14 16:46:32 +02:00
cairo-boilerplate-system.c whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-system.h whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-test-surfaces.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boilerplate-vg.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-wgl.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-win32-printing.c test: Fix compilation on win32 2011-06-14 16:46:32 +02:00
cairo-boilerplate-win32.c boilerplate: Introduce create_similar hook 2011-06-02 09:11:32 +01:00
cairo-boilerplate-xcb.c XCB: Store the flags per-connection only 2011-07-21 16:51:26 +02:00
cairo-boilerplate-xlib.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boilerplate-xlib.h [boilerplate] Add missing headers. Oops! 2007-04-21 07:23:30 -04:00
cairo-boilerplate.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
cairo-boilerplate.h boilerplate: Silence MSVC warnings 2011-06-20 10:24:20 +02:00
check-link.c [boilerplate/check-link.c] Oops. Add it. 2008-09-02 22:03:05 -04:00
make-cairo-boilerplate-constructors.sh [boilerplate/test] Use numerical equality not string equality 2009-09-02 10:09:50 +01:00
Makefile.am build: Add explicit dependcy to cxx lib 2010-07-16 19:49:53 +02:00
Makefile.sources build: Split boilerplate lib generation into two so's 2010-07-11 18:53:42 +02:00
Makefile.win32 build: Clean up environment variables and flags for the win32 build 2011-06-20 10:24:21 +02:00
Makefile.win32.features Introduce cairo_mime_surface_t 2011-08-15 00:16:09 +01:00
README Add boilerplate/README explaining its purpose 2006-08-30 22:33:53 -07:00

This directory provides code that is common to both of cairo's tests
suites:

 * The test suite for correctness in test/
 * The test suite for performance in perf/

We call it boilerplate as it consists primarily of the boilerplate
code necessary for initializing a backend in order to create a surface
for that backend.

The code here just might be useful for someone looking to get started
writing cairo code to use a particular backend, (but there are no
promises that the boilerplate code found here for any particular
backend is exemplary).