X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fmain.cpp;h=a1b21cc4d0f65b1cf1fb3ad2cba4787ab2648ec0;hb=9dc68827cbd515262ecb8d5ae8547d9e82c72e00;hp=a25343991077ce4af4018041e76b1fe7b9fee625;hpb=072de79e6270f4137fa48a8a73491e8a0904d8f8;p=inkscape.git diff --git a/src/main.cpp b/src/main.cpp index a25343991..a1b21cc4d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,3 @@ -#define __MAIN_C__ - /** \file * Inkscape - an ambitious vector drawing program * @@ -15,6 +13,8 @@ * Pawel Palucha * Bryce Harrington * ... and various people who have worked with various projects + * Jon A. Cruz + * Abhishek Sharma * * Copyright (C) 1999-2004 authors * Copyright (C) 2001-2002 Ximian, Inc. @@ -114,7 +114,6 @@ using Inkscape::Extension::Internal::PrintWin32; #define bind_textdomain_codeset(p,c) #endif -#include "application/application.h" #include "main-cmdlineact.h" #include "widgets/icon.h" #include "ui/widget/panel.h" @@ -208,7 +207,6 @@ static gboolean sp_query_width = FALSE; static gboolean sp_query_height = FALSE; static gboolean sp_query_all = FALSE; static gchar *sp_query_id = NULL; -static int sp_new_gui = FALSE; static gboolean sp_shell = FALSE; static gboolean sp_vacuum_defs = FALSE; @@ -713,10 +711,15 @@ main(int argc, char **argv) } #endif // WIN32 - /// \todo Should this be a static object (see inkscape.cpp)? - Inkscape::NSApplication::Application app(argc, argv, use_gui, sp_new_gui); + int retcode; + + if (use_gui) { + retcode = sp_main_gui(argc, (const char **) argv); + } else { + retcode = sp_main_console(argc, (const char **) argv); + } - return app.run(); + return retcode; } @@ -1020,7 +1023,7 @@ void sp_process_file_list(GSList *fl) g_warning("Specified document %s cannot be opened (does not exist or not a valid SVG file)", filename); } else { if (sp_vacuum_defs) { - doc->vacuum_document(); + doc->vacuumDocument(); } if (sp_vacuum_defs && !sp_export_svg) { // save under the name given in the command line @@ -1037,9 +1040,9 @@ void sp_process_file_list(GSList *fl) Inkscape::XML::Node *repr; rdoc = sp_repr_document_new("svg:svg"); repr = rdoc->root(); - repr = sp_document_root(doc)->updateRepr(rdoc, repr, SP_OBJECT_WRITE_BUILD); + repr = doc->getRoot()->updateRepr(rdoc, repr, SP_OBJECT_WRITE_BUILD); sp_repr_save_rebased_file(repr->document(), sp_export_svg, SP_SVG_NS_URI, - doc->base, sp_export_svg); + doc->getBase(), sp_export_svg); } if (sp_export_ps) { do_export_ps_pdf(doc, sp_export_ps, "image/x-postscript"); @@ -1193,11 +1196,11 @@ do_query_dimension (SPDocument *doc, bool extent, Geom::Dim2 const axis, const g return; } } else { - o = SP_DOCUMENT_ROOT(doc); + o = doc->getRoot(); } if (o) { - doc->ensure_up_to_date (); + doc->ensureUpToDate(); SPItem *item = ((SPItem *) o); // "true" SVG bbox for scripting @@ -1216,15 +1219,12 @@ do_query_dimension (SPDocument *doc, bool extent, Geom::Dim2 const axis, const g } } -static void -do_query_all (SPDocument *doc) +static void do_query_all(SPDocument *doc) { - SPObject *o = NULL; - - o = SP_DOCUMENT_ROOT(doc); + SPObject *o = doc->getRoot(); if (o) { - doc->ensure_up_to_date (); + doc->ensureUpToDate(); do_query_all_recurse(o); } } @@ -1274,12 +1274,12 @@ sp_do_export_png(SPDocument *doc) SPObject *o_area = NULL; if (sp_export_id && sp_export_area_drawing) { o = doc->getObjectById(sp_export_id); - o_area = SP_DOCUMENT_ROOT (doc); + o_area = doc->getRoot(); } else if (sp_export_id) { o = doc->getObjectById(sp_export_id); o_area = o; } else if (sp_export_area_drawing) { - o = SP_DOCUMENT_ROOT (doc); + o = doc->getRoot(); o_area = o; } @@ -1327,7 +1327,7 @@ sp_do_export_png(SPDocument *doc) } // write object bbox to area - doc->ensure_up_to_date (); + doc->ensureUpToDate(); Geom::OptRect areaMaybe; static_cast(o_area)->invoke_bbox( areaMaybe, static_cast(o_area)->i2d_affine(), TRUE); if (areaMaybe) { @@ -1345,14 +1345,14 @@ sp_do_export_png(SPDocument *doc) if (sp_export_area) { /* Try to parse area (given in SVG pixels) */ gdouble x0,y0,x1,y1; - if (!sscanf(sp_export_area, "%lg:%lg:%lg:%lg", &x0, &y0, &x1, &y1) == 4) { + if (sscanf(sp_export_area, "%lg:%lg:%lg:%lg", &x0, &y0, &x1, &y1) != 4) { g_warning("Cannot parse export area '%s'; use 'x0:y0:x1:y1'. Nothing exported.", sp_export_area); return; } area = Geom::Rect(Geom::Interval(x0,x1), Geom::Interval(y0,y1)); } else if (sp_export_area_page || !(sp_export_id || sp_export_area_drawing)) { /* Export the whole page: note: Inkscape uses 'page' in all menus and dialogs, not 'canvas' */ - doc->ensure_up_to_date (); + doc->ensureUpToDate(); Geom::Point origin (SP_ROOT(doc->root)->x.computed, SP_ROOT(doc->root)->y.computed); area = Geom::Rect(origin, origin + doc->getDimensions()); } @@ -1448,8 +1448,8 @@ sp_do_export_png(SPDocument *doc) gchar *path = 0; if (filename_from_hint) { //Make relative paths go from the document location, if possible: - if (!g_path_is_absolute(filename) && doc->uri) { - gchar *dirname = g_path_get_dirname(doc->uri); + if (!g_path_is_absolute(filename) && doc->getURI()) { + gchar *dirname = g_path_get_dirname(doc->getURI()); if (dirname) { path = g_build_filename(dirname, filename, NULL); g_free(dirname);