diff options
| author | Kees Cook <kees@outflux.net> | 2007-12-10 00:48:29 +0000 |
|---|---|---|
| committer | keescook <keescook@users.sourceforge.net> | 2007-12-10 00:48:29 +0000 |
| commit | c79a5c96989fa96d5ab3f63bb488ee70adb77fb7 (patch) | |
| tree | feecb11ba0b8fe0ce60840e4340831e81dbac691 /src | |
| parent | bump minimum required gtk to 2.10 (released july 2006), for future print dialog (diff) | |
| download | inkscape-c79a5c96989fa96d5ab3f63bb488ee70adb77fb7.tar.gz inkscape-c79a5c96989fa96d5ab3f63bb488ee70adb77fb7.zip | |
always build cairo backend; add interface for setting cairo surface to renderer
(bzr r4198)
Diffstat (limited to 'src')
| -rw-r--r-- | src/extension/internal/cairo-render-context.cpp | 22 | ||||
| -rw-r--r-- | src/extension/internal/cairo-render-context.h | 7 | ||||
| -rw-r--r-- | src/extension/internal/cairo-renderer.cpp | 5 | ||||
| -rw-r--r-- | src/extension/internal/cairo-renderer.h | 4 |
4 files changed, 21 insertions, 17 deletions
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: diff --git a/src/extension/internal/cairo-render-context.h b/src/extension/internal/cairo-render-context.h index dc1592a81..ff7ebec7f 100644 --- a/src/extension/internal/cairo-render-context.h +++ b/src/extension/internal/cairo-render-context.h @@ -17,8 +17,6 @@ # include "config.h" #endif -#ifdef HAVE_CAIRO_PDF - #include "extension/extension.h" #include <set> #include <string> @@ -90,6 +88,8 @@ public: given width, height and with the currently set target surface type. */ bool setupSurface(double width, double height); + /** Set the cairo_surface_t from an external source */ + bool setSurface(cairo_surface_t *surface); cairo_surface_t *getSurface(void); @@ -169,6 +169,7 @@ protected: unsigned int _showGlyphs(cairo_t *cr, PangoFont *font, std::vector<CairoGlyphInfo> const &glyphtext, bool is_stroke); + bool _finishSurfaceSetup(cairo_surface_t *surface); void _setFillStyle(SPStyle const *style, NRRect const *pbox); void _setStrokeStyle(SPStyle const *style, NRRect const *pbox); @@ -183,8 +184,6 @@ protected: } /* namespace Extension */ } /* namespace Inkscape */ -#endif /* HAVE_CAIRO_PDF */ - #endif /* !EXTENSION_INTERNAL_CAIRO_RENDER_CONTEXT_H_SEEN */ /* diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp index 5583fa63c..418e82b89 100644 --- a/src/extension/internal/cairo-renderer.cpp +++ b/src/extension/internal/cairo-renderer.cpp @@ -16,8 +16,6 @@ # include "config.h" #endif -#ifdef HAVE_CAIRO_PDF - #ifndef PANGO_ENABLE_BACKEND #define PANGO_ENABLE_BACKEND #endif @@ -598,9 +596,6 @@ calculatePreserveAspectRatio(unsigned int aspect_align, unsigned int aspect_clip /* End of GNU GPL code */ -#endif /* HAVE_CAIRO_PDF */ - - /* Local Variables: mode:c++ diff --git a/src/extension/internal/cairo-renderer.h b/src/extension/internal/cairo-renderer.h index 6cb810bfe..4056a8697 100644 --- a/src/extension/internal/cairo-renderer.h +++ b/src/extension/internal/cairo-renderer.h @@ -17,8 +17,6 @@ # include "config.h" #endif -#ifdef HAVE_CAIRO_PDF - #include "extension/extension.h" #include <set> #include <string> @@ -69,8 +67,6 @@ void calculatePreserveAspectRatio(unsigned int aspect_align, unsigned int aspect } /* namespace Extension */ } /* namespace Inkscape */ -#endif /* HAVE_CAIRO_PDF */ - #endif /* !EXTENSION_INTERNAL_CAIRO_RENDERER_H_SEEN */ /* |
