summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-renderer-pdf-out.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extension/internal/cairo-renderer-pdf-out.cpp')
-rw-r--r--src/extension/internal/cairo-renderer-pdf-out.cpp25
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;