X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fsp-root.cpp;h=bd935074dec47dfba5663dbf6a68aebcdf5348c5;hb=1632051639ba04bc358c2314c45b6651f19fdb03;hp=80c04c59f30461dec782391359e0b52b1f5d34c9;hpb=6b76ef6bb3e9b4e1cc83e01cd81a55bbd0450989;p=inkscape.git diff --git a/src/sp-root.cpp b/src/sp-root.cpp index 80c04c59f..bd935074d 100644 --- a/src/sp-root.cpp +++ b/src/sp-root.cpp @@ -34,7 +34,7 @@ #include #include #include "svg/stringstream.h" -#include "inkscape_version.h" +#include "inkscape-version.h" class SPDesktop; @@ -51,7 +51,6 @@ static void sp_root_modified(SPObject *object, guint flags); static Inkscape::XML::Node *sp_root_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static NRArenaItem *sp_root_show(SPItem *item, NRArena *arena, unsigned int key, unsigned int flags); -static void sp_root_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags); static void sp_root_print(SPItem *item, SPPrintContext *ctx); static SPGroupClass *parent_class; @@ -106,7 +105,6 @@ sp_root_class_init(SPRootClass *klass) sp_object_class->write = sp_root_write; sp_item_class->show = sp_root_show; - sp_item_class->bbox = sp_root_bbox; sp_item_class->print = sp_root_print; } @@ -119,9 +117,10 @@ sp_root_init(SPRoot *root) static Inkscape::Version const zero_version(0, 0); sp_version_from_string(SVG_VERSION, &root->original.svg); - root->version.svg = root->original.svg; - root->version.inkscape = root->original.inkscape = - root->version.sodipodi = root->original.sodipodi = zero_version; + root->version.svg = zero_version; + root->original.svg = zero_version; + root->version.inkscape = zero_version; + root->original.inkscape = zero_version; root->x.unset(); root->y.unset(); @@ -147,13 +146,11 @@ sp_root_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) SPGroup *group = (SPGroup *) object; SPRoot *root = (SPRoot *) object; - if (repr->attribute("sodipodi:docname") || repr->attribute("SP-DOCNAME")) { - /* so we have a nonzero initial version */ - root->original.sodipodi.major = 0; - root->original.sodipodi.minor = 1; + if ( !object->repr->attribute("version") ) { + repr->setAttribute("version", SVG_VERSION); } + sp_object_read_attr(object, "version"); - sp_object_read_attr(object, "sodipodi:version"); sp_object_read_attr(object, "inkscape:version"); /* It is important to parse these here, so objects will have viewport build-time */ sp_object_read_attr(object, "x"); @@ -176,7 +173,7 @@ sp_root_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) } // clear transform, if any was read in - SVG does not allow transform= on - SP_ITEM(object)->transform = NR::identity(); + SP_ITEM(object)->transform = Geom::identity(); } /** @@ -207,10 +204,6 @@ sp_root_set(SPObject *object, unsigned int key, gchar const *value) root->version.svg = root->original.svg; } break; - case SP_ATTR_SODIPODI_VERSION: - if (!sp_version_from_string(value, &root->version.sodipodi)) { - root->version.sodipodi = root->original.sodipodi; - } case SP_ATTR_INKSCAPE_VERSION: if (!sp_version_from_string(value, &root->version.inkscape)) { root->version.inkscape = root->original.inkscape; @@ -309,7 +302,7 @@ sp_root_set(SPObject *object, unsigned int key, gchar const *value) align = SP_ASPECT_XMIN_YMID; } else if (!strcmp(c, "xMidYMid")) { align = SP_ASPECT_XMID_YMID; - } else if (!strcmp(c, "xMaxYMin")) { + } else if (!strcmp(c, "xMaxYMid")) { align = SP_ASPECT_XMAX_YMID; } else if (!strcmp(c, "xMinYMax")) { align = SP_ASPECT_XMIN_YMAX; @@ -322,7 +315,7 @@ sp_root_set(SPObject *object, unsigned int key, gchar const *value) } clip = SP_ASPECT_MEET; while (*e && *e == 32) e += 1; - if (e) { + if (*e) { if (!strcmp(e, "meet")) { clip = SP_ASPECT_MEET; } else if (!strcmp(e, "slice")) { @@ -546,7 +539,7 @@ sp_root_update(SPObject *object, SPCtx *ctx, guint flags) rctx.vp.y1 = root->height.computed; } - rctx.i2vp = NR::identity(); + rctx.i2vp = Geom::identity(); /* And invoke parent method */ if (((SPObjectClass *) (parent_class))->update) @@ -590,11 +583,12 @@ sp_root_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML: } if (flags & SP_OBJECT_WRITE_EXT) { - repr->setAttribute("sodipodi:version", SODIPODI_VERSION); - repr->setAttribute("inkscape:version", INKSCAPE_VERSION); + repr->setAttribute("inkscape:version", Inkscape::version_string); } - repr->setAttribute("version", SVG_VERSION); + if ( !repr->attribute("version") ) { + repr->setAttribute("version", sp_version_to_string(root->version.svg)); + } if (fabs(root->x.computed) > 1e-9) sp_repr_set_svg_double(repr, "x", root->x.computed); @@ -640,22 +634,6 @@ sp_root_show(SPItem *item, NRArena *arena, unsigned int key, unsigned int flags) return ai; } -/** - * Virtual bbox callback. - */ -static void -sp_root_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags) -{ - SPRoot const *root = SP_ROOT(item); - - if (((SPItemClass *) (parent_class))->bbox) { - Geom::Matrix const product( to_2geom(root->c2p) * transform ); - ((SPItemClass *) (parent_class))->bbox(item, bbox, - product, - flags); - } -} - /** * Virtual print callback. */