Code

Merge and cleanup of GSoC C++-ification project.
[inkscape.git] / src / print.cpp
index ba29b17ad55b3db9edea6dcb4dadd0e285e69e3b..e0601aa339eb930a9568868011416e79f08e9533 100644 (file)
@@ -1,5 +1,3 @@
-#define __SP_PRINT_C__
-
 /** \file
  * Frontend to printing
  */
@@ -7,6 +5,8 @@
  * Author:
  *   Lauris Kaplinski <lauris@kaplinski.com>
  *   Kees Cook <kees@outflux.net>
+ *   Jon A. Cruz <jon@joncruz.org>
+ *   Abhishek Sharma
  *
  * This code is in public domain
  */
@@ -90,7 +90,7 @@ sp_print_preview_document(SPDocument *doc)
     Inkscape::Extension::Print *mod;
     unsigned int ret;
 
-    sp_document_ensure_up_to_date(doc);
+    doc->ensureUpToDate();
 
     mod = Inkscape::Extension::get_print(SP_MODULE_KEY_PRINT_DEFAULT);
 
@@ -102,16 +102,16 @@ sp_print_preview_document(SPDocument *doc)
 
         /* fixme: This has to go into module constructor somehow */
         /* Create new arena */
-        mod->base = SP_ITEM(sp_document_root(doc));
+        mod->base = SP_ITEM(doc->getRoot());
         mod->arena = NRArena::create();
-        mod->dkey = sp_item_display_key_new(1);
-        mod->root = sp_item_invoke_show(mod->base, mod->arena, mod->dkey, SP_ITEM_SHOW_DISPLAY);
+        mod->dkey = SPItem::display_key_new(1);
+        mod->root = (mod->base)->invoke_show(mod->arena, mod->dkey, SP_ITEM_SHOW_DISPLAY);
         /* Print document */
         ret = mod->begin(doc);
-        sp_item_invoke_print(mod->base, &context);
+        (mod->base)->invoke_print(&context);
         ret = mod->finish();
         /* Release arena */
-        sp_item_invoke_hide(mod->base, mod->dkey);
+        (mod->base)->invoke_hide(mod->dkey);
         mod->base = NULL;
         mod->root = NULL;
         nr_object_unref((NRObject *) mod->arena);
@@ -124,14 +124,14 @@ sp_print_preview_document(SPDocument *doc)
 void
 sp_print_document(Gtk::Window& parentWindow, SPDocument *doc)
 {
-    sp_document_ensure_up_to_date(doc);
+    doc->ensureUpToDate();
 
     // Build arena
-    SPItem      *base = SP_ITEM(sp_document_root(doc));
+    SPItem      *base = SP_ITEM(doc->getRoot());
     NRArena    *arena = NRArena::create();
-    unsigned int dkey = sp_item_display_key_new(1);
+    unsigned int dkey = SPItem::display_key_new(1);
     // TODO investigate why we are grabbing root and then ignoring it.
-    NRArenaItem *root = sp_item_invoke_show(base, arena, dkey, SP_ITEM_SHOW_DISPLAY);
+    NRArenaItem *root = base->invoke_show(arena, dkey, SP_ITEM_SHOW_DISPLAY);
 
     // Run print dialog
     Inkscape::UI::Dialog::Print printop(doc,base);
@@ -139,7 +139,7 @@ sp_print_document(Gtk::Window& parentWindow, SPDocument *doc)
     (void)res; // TODO handle this
 
     // Release arena
-    sp_item_invoke_hide(base, dkey);
+    base->invoke_hide(dkey);
     nr_object_unref((NRObject *) arena);
 }
 
@@ -152,7 +152,7 @@ sp_print_document_to_file(SPDocument *doc, gchar const *filename)
     gchar *oldoutput;
     unsigned int ret;
 
-    sp_document_ensure_up_to_date(doc);
+    doc->ensureUpToDate();
 
     mod = Inkscape::Extension::get_print(SP_MODULE_KEY_PRINT_PS);
     oldconst = mod->get_param_string("destination");
@@ -163,16 +163,16 @@ sp_print_document_to_file(SPDocument *doc, gchar const *filename)
     context.module = mod;
     /* fixme: This has to go into module constructor somehow */
     /* Create new arena */
-    mod->base = SP_ITEM(sp_document_root(doc));
+    mod->base = SP_ITEM(doc->getRoot());
     mod->arena = NRArena::create();
-    mod->dkey = sp_item_display_key_new(1);
-    mod->root = sp_item_invoke_show(mod->base, mod->arena, mod->dkey, SP_ITEM_SHOW_DISPLAY);
+    mod->dkey = SPItem::display_key_new(1);
+    mod->root = (mod->base)->invoke_show(mod->arena, mod->dkey, SP_ITEM_SHOW_DISPLAY);
     /* Print document */
     ret = mod->begin(doc);
-    sp_item_invoke_print(mod->base, &context);
+    (mod->base)->invoke_print(&context);
     ret = mod->finish();
     /* Release arena */
-    sp_item_invoke_hide(mod->base, mod->dkey);
+    (mod->base)->invoke_hide(mod->dkey);
     mod->base = NULL;
     mod->root = NULL;
     nr_object_unref((NRObject *) mod->arena);