diff options
Diffstat (limited to 'src/extension/internal/cairo-renderer-pdf-out.cpp')
| -rw-r--r-- | src/extension/internal/cairo-renderer-pdf-out.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp index 6527a646b..7ea5718f7 100644 --- a/src/extension/internal/cairo-renderer-pdf-out.cpp +++ b/src/extension/internal/cairo-renderer-pdf-out.cpp @@ -29,8 +29,7 @@ #include "extension/print.h" #include "extension/db.h" #include "extension/output.h" -#include "display/nr-arena.h" -#include "display/nr-arena-item.h" +#include "display/drawing.h" #include "display/curve.h" #include "display/canvas-bpath.h" @@ -43,13 +42,15 @@ namespace Inkscape { namespace Extension { namespace Internal { -bool -CairoRendererPdfOutput::check (Inkscape::Extension::Extension * module) +bool CairoRendererPdfOutput::check(Inkscape::Extension::Extension * /*module*/) { - if (NULL == Inkscape::Extension::db.get("org.inkscape.output.pdf.cairorenderer")) - return FALSE; + bool result = true; - return TRUE; + if (NULL == Inkscape::Extension::db.get("org.inkscape.output.pdf.cairorenderer")) { + result = false; + } + + return result; } static bool @@ -71,7 +72,7 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int } else { // we want to export the entire document from root - base = SP_ITEM(doc->getRoot()); + base = doc->getRoot(); pageBoundingBox = !exportDrawing; } @@ -80,10 +81,10 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int } /* Create new arena */ - NRArena *arena = NRArena::create(); - nr_arena_set_renderoffscreen (arena); + Inkscape::Drawing drawing; + drawing.setExact(true); unsigned dkey = SPItem::display_key_new(1); - base->invoke_show(arena, dkey, SP_ITEM_SHOW_DISPLAY); + base->invoke_show(drawing, dkey, SP_ITEM_SHOW_DISPLAY); /* Create renderer and context */ CairoRenderer *renderer = new CairoRenderer(); @@ -104,9 +105,7 @@ pdf_render_document_to_file(SPDocument *doc, gchar const *filename, unsigned int } } - /* Release arena */ base->invoke_hide(dkey); - nr_object_unref((NRObject *) arena); renderer->destroyContext(ctx); delete renderer; |
