diff options
author | Vladimir Vukicevic <vladimir@pobox.com> | 2009-06-14 20:43:05 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-16 11:03:46 +0100 |
commit | 22587f57bd5d1b4440d936cd4655a7e8fcebdf36 (patch) | |
tree | f7f4224e598d8a23b1a643016c880b7c91d5ff84 /perf | |
parent | 7d3881114add18d5934073d0b04755d343ea38c6 (diff) |
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>
Diffstat (limited to 'perf')
-rw-r--r-- | perf/cairo-perf-trace.c | 1 | ||||
-rw-r--r-- | perf/cairo-perf.c | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c index 9edd4f23..3ed2bb87 100644 --- a/perf/cairo-perf-trace.c +++ b/perf/cairo-perf-trace.c @@ -99,6 +99,7 @@ target_is_measurable (const cairo_boilerplate_target_t *target) case CAIRO_SURFACE_TYPE_BEOS: case CAIRO_SURFACE_TYPE_DIRECTFB: case CAIRO_SURFACE_TYPE_OS2: + case CAIRO_SURFACE_TYPE_QT: case CAIRO_INTERNAL_SURFACE_TYPE_NULL: return TRUE; case CAIRO_SURFACE_TYPE_PDF: diff --git a/perf/cairo-perf.c b/perf/cairo-perf.c index be436813..4965e577 100644 --- a/perf/cairo-perf.c +++ b/perf/cairo-perf.c @@ -92,9 +92,8 @@ target_is_measurable (const cairo_boilerplate_target_t *target) case CAIRO_SURFACE_TYPE_WIN32: case CAIRO_SURFACE_TYPE_BEOS: case CAIRO_SURFACE_TYPE_DIRECTFB: -#if CAIRO_VERSION_MAJOR > 1 || (CAIRO_VERSION_MAJOR == 1 && CAIRO_VERSION_MINOR > 2) case CAIRO_SURFACE_TYPE_OS2: -#endif + case CAIRO_SURFACE_TYPE_QT: return TRUE; case CAIRO_SURFACE_TYPE_PDF: case CAIRO_SURFACE_TYPE_PS: |