cairo/boilerplate
Vladimir Vukicevic 22587f57bd Import Qt backend by Mozilla
Written by Vladimir Vukicevic to enable integration with Qt embedded
devices, this backend allows cairo code to target QPainter, and use
it as a source for other cairo backends.

This imports the sources from mozilla-central:
http://mxr.mozilla.org/mozilla-central/find?text=&kind=text&string=cairo-qpainter
renames them from cairo-qpainter to cairo-qt, and integrates the patch
by Oleg Romashin:
https://bugs.freedesktop.org/attachment.cgi?id=18953

And then attempts to restore 'make check' to full functionality.

However:
 - C++ does not play well with the PLT symbol hiding, and leaks into the
   global namespace. 'make check' fails at check-plt.sh

 - Qt embeds a GUI into QApplication which it requires to construct any
   QPainter drawable, i.e. used by the boilerplate to create a cairo-qt
   surface, and this leaks fonts (cairo-ft-fonts no less) causing assertion
   failures that all cairo objects are accounted for upon destruction.

[Updated by Chris Wilson]
Acked-by: Jeff Muizelaar <jeff@infidigm.net>
Acked-by: Carl Worth <cworth@cworth.org>
2009-06-16 11:03:46 +01:00
..
.gitignore [build] Include all generated win32 build files in the repo 2009-01-09 15:55:24 -05:00
cairo-boilerplate-beos-private.h [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-beos.cpp [boilerplate] Remove CAIRO_BOILERPLATE_LOG() 2009-01-03 22:56:17 +00:00
cairo-boilerplate-directfb-private.h [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-directfb.c [boilerplate/directfb] Create ARGB surfaces on demand. 2008-10-20 23:20:22 +01:00
cairo-boilerplate-getopt.c [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-getopt.h [cairo-boilerplate] Silence compiler warning. 2008-06-13 21:34:43 +01:00
cairo-boilerplate-glitz-agl.c [boilerplate] Remove CAIRO_BOILERPLATE_LOG() 2009-01-03 22:56:17 +00:00
cairo-boilerplate-glitz-glx.c [boilerplate] Remove CAIRO_BOILERPLATE_LOG() 2009-01-03 22:56:17 +00:00
cairo-boilerplate-glitz-private.h [boilerplate] fix compilation for glitz-agl 2008-11-25 20:40:37 +08:00
cairo-boilerplate-glitz-wgl.c [boilerplate] Remove CAIRO_BOILERPLATE_LOG() 2009-01-03 22:56:17 +00:00
cairo-boilerplate-pdf-private.h Automate error checking for fallback-resolution. 2008-09-28 14:57:12 +01:00
cairo-boilerplate-pdf.c [test] Convert a few residual '-out.*' 2008-11-03 14:24:39 +00:00
cairo-boilerplate-ps-private.h Automate error checking for fallback-resolution. 2008-09-28 14:57:12 +01:00
cairo-boilerplate-ps.c [test] Convert a few residual '-out.*' 2008-11-03 14:24:39 +00:00
cairo-boilerplate-qt-private.h Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
cairo-boilerplate-qt.cpp Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
cairo-boilerplate-quartz-private.h [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-quartz.c [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-scaled-font.h [scaled-font] Get rid of _cairo_scaled_font_test_set_max_glyphs_cached_per_font 2007-04-21 03:43:04 -04:00
cairo-boilerplate-script-private.h Add CairoScript backend. 2008-11-13 11:36:54 +00:00
cairo-boilerplate-script.c Add CairoScript backend. 2008-11-13 11:36:54 +00:00
cairo-boilerplate-svg-private.h Automate error checking for fallback-resolution. 2008-09-28 14:57:12 +01:00
cairo-boilerplate-svg.c [test] Convert a few residual '-out.*' 2008-11-03 14:24:39 +00:00
cairo-boilerplate-system.c [perf] Benchmark traces 2009-06-02 15:13:47 +01:00
cairo-boilerplate-system.h [perf] Benchmark traces 2009-06-02 15:13:47 +01:00
cairo-boilerplate-test-surfaces-private.h Expose _cairo_null_surface_create() via a test surface 2009-06-15 12:03:37 +01:00
cairo-boilerplate-test-surfaces.c Expose _cairo_null_surface_create() via a test surface 2009-06-15 12:03:37 +01:00
cairo-boilerplate-win32-printing.c [test] Convert a few residual '-out.*' 2008-11-03 14:24:39 +00:00
cairo-boilerplate-win32-private.h Automate error checking for fallback-resolution. 2008-09-28 14:57:12 +01:00
cairo-boilerplate-win32.c [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-xcb-private.h [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-xcb.c [boilerplate] Remove CAIRO_BOILERPLATE_LOG() 2009-01-03 22:56:17 +00:00
cairo-boilerplate-xlib-private.h [test] Preparatory work for running under memfault. 2008-08-13 21:54:59 +01:00
cairo-boilerplate-xlib.c [boilerplate] Redefine DEBUG() for portability concerns 2009-01-03 22:54:14 +00:00
cairo-boilerplate-xlib.h [boilerplate] Add missing headers. Oops! 2007-04-21 07:23:30 -04:00
cairo-boilerplate.c Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
cairo-boilerplate.h Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
check-link.c [boilerplate/check-link.c] Oops. Add it. 2008-09-02 22:03:05 -04:00
Makefile.am [build] Include all generated win32 build files in the repo 2009-01-09 15:55:24 -05:00
Makefile.sources Import Qt backend by Mozilla 2009-06-16 11:03:46 +01:00
Makefile.win32 [test-win32] Fix static linking of the test suite. 2009-04-01 11:32:58 -04:00
Makefile.win32.features Import Qt backend by Mozilla 2009-06-16 11:03:46 +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).