From c79a5c96989fa96d5ab3f63bb488ee70adb77fb7 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Mon, 10 Dec 2007 00:48:29 +0000 Subject: always build cairo backend; add interface for setting cairo surface to renderer (bzr r4198) --- src/extension/internal/cairo-render-context.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/extension/internal/cairo-render-context.cpp') diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp index 61d40ea4e..8f106f55f 100644 --- a/src/extension/internal/cairo-render-context.cpp +++ b/src/extension/internal/cairo-render-context.cpp @@ -16,8 +16,6 @@ # include "config.h" #endif -#ifdef HAVE_CAIRO_PDF - #ifndef PANGO_ENABLE_BACKEND #define PANGO_ENABLE_BACKEND #endif @@ -672,6 +670,24 @@ CairoRenderContext::setupSurface(double width, double height) break; } + return _finishSurfaceSetup (surface); +} + +bool +CairoRenderContext::setSurface(cairo_surface_t *surface) +{ + if (_is_valid || !surface) + return false; + + bool ret = _finishSurfaceSetup (surface); + if (ret) + cairo_surface_reference (surface); + return ret; +} + +bool +CairoRenderContext::_finishSurfaceSetup(cairo_surface_t *surface) +{ _cr = cairo_create(surface); _surface = surface; @@ -1502,8 +1518,6 @@ _write_callback(void *closure, const unsigned char *data, unsigned int length) /* End of GNU GPL code */ -#endif /* HAVE_CAIRO_PDF */ - /* Local Variables: -- cgit v1.2.3