Code

Merge and cleanup of GSoC C++-ification project.
[inkscape.git] / src / extension / internal / cairo-png-out.cpp
index c9da645f0488778cdb8f35905122ae1bd7b7e894..eb26fc58148bb61320121c8a7fe7ab8a2255526e 100644 (file)
@@ -5,6 +5,8 @@
  * Authors:
  *   Ted Gould <ted@gould.cx>
  *   Ulf Erikson <ulferikson@users.sf.net>
+ *   Jon A. Cruz <jon@joncruz.org>
+ *   Abhishek Sharma
  *
  * Copyright (C) 2004-2006 Authors
  *
@@ -28,8 +30,6 @@
 #include "display/nr-arena.h"
 #include "display/nr-arena-item.h"
 
-#include <libnr/n-art-bpath.h>
-
 #include "display/curve.h"
 #include "display/canvas-bpath.h"
 #include "sp-item.h"
@@ -55,21 +55,21 @@ png_render_document_to_file(SPDocument *doc, gchar const *filename)
     CairoRenderer *renderer;
     CairoRenderContext *ctx;
 
-    sp_document_ensure_up_to_date(doc);
+    doc->ensureUpToDate();
 
 /* Start */
     /* Create new arena */
-    SPItem *base = SP_ITEM(sp_document_root(doc));
+    SPItem *base = SP_ITEM(doc->getRoot());
     NRArena *arena = NRArena::create();
-    unsigned dkey = sp_item_display_key_new(1);
-    NRArenaItem *root = sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY);
+    unsigned dkey = SPItem::display_key_new(1);
+    NRArenaItem *root = base->invoke_show(arena, dkey, SP_ITEM_SHOW_DISPLAY);
     
     /* Create renderer and context */
     renderer = new CairoRenderer();
     ctx = renderer->createContext();
 
     /* Render document */
-    bool ret = renderer->setupDocument(ctx, doc);
+    bool ret = renderer->setupDocument(ctx, doc, TRUE, NULL);
     if (ret) {
         renderer->renderItem(ctx, base);
         ctx->saveAsPng(filename);
@@ -78,8 +78,7 @@ png_render_document_to_file(SPDocument *doc, gchar const *filename)
     renderer->destroyContext(ctx);
 
     /* Release arena */
-    sp_item_invoke_hide(base, dkey);
-    nr_arena_item_unref(root);
+    base->invoke_hide(dkey);
     nr_object_unref((NRObject *) arena);
 /* end */
     delete renderer;
@@ -95,9 +94,9 @@ png_render_document_to_file(SPDocument *doc, gchar const *filename)
     \param  uri   Filename to save to (probably will end in .png)
 */
 void
-CairoRendererOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, const gchar *uri)
+CairoRendererOutput::save(Inkscape::Extension::Output *mod, SPDocument *doc, gchar const *filename)
 {
-    if (!png_render_document_to_file(doc, uri))
+    if (!png_render_document_to_file(doc, filename))
         throw Inkscape::Extension::Output::save_failed();
 
        return;