diff --git a/src/sp-symbol.cpp b/src/sp-symbol.cpp
index 06f8bfb493f59de4e2b07c72cf4c1b5f48cae4db..6c8d3cd82a7433e64b6f2d70f52f0ec237b62e27 100644 (file)
--- a/src/sp-symbol.cpp
+++ b/src/sp-symbol.cpp
-#define __SP_SYMBOL_C__
-
/*
* SVG <symbol> implementation
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
/*
* SVG <symbol> implementation
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
+ * Abhishek Sharma
*
* Copyright (C) 1999-2003 Lauris Kaplinski
*
*
* Copyright (C) 1999-2003 Lauris Kaplinski
*
#include "libnr/nr-matrix-fns.h"
#include "libnr/nr-matrix-ops.h"
#include "libnr/nr-matrix-fns.h"
#include "libnr/nr-matrix-ops.h"
+#include <2geom/transforms.h>
#include "display/nr-arena-group.h"
#include "xml/repr.h"
#include "attributes.h"
#include "display/nr-arena-group.h"
#include "xml/repr.h"
#include "attributes.h"
@@ -109,8 +109,8 @@ sp_symbol_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *re
group = (SPGroup *) object;
symbol = (SPSymbol *) object;
group = (SPGroup *) object;
symbol = (SPSymbol *) object;
- sp_object_read_attr (object, "viewBox");
- sp_object_read_attr (object, "preserveAspectRatio");
+ object->readAttr( "viewBox" );
+ object->readAttr( "preserveAspectRatio" );
if (((SPObjectClass *) parent_class)->build)
((SPObjectClass *) parent_class)->build (object, document, repr);
if (((SPObjectClass *) parent_class)->build)
((SPObjectClass *) parent_class)->build (object, document, repr);
align = SP_ASPECT_XMIN_YMID;
} else if (!strcmp (c, "xMidYMid")) {
align = SP_ASPECT_XMID_YMID;
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;
align = SP_ASPECT_XMAX_YMID;
} else if (!strcmp (c, "xMinYMax")) {
align = SP_ASPECT_XMIN_YMAX;
}
clip = SP_ASPECT_MEET;
while (*e && *e == 32) e += 1;
}
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")) {
if (!strcmp (e, "meet")) {
clip = SP_ASPECT_MEET;
} else if (!strcmp (e, "slice")) {
/* Calculate child to parent transformation */
/* Apply parent <use> translation (set up as vewport) */
/* Calculate child to parent transformation */
/* Apply parent <use> translation (set up as vewport) */
- symbol->c2p = NR::Matrix(NR::translate(rctx.vp.x0, rctx.vp.y0));
+ symbol->c2p = Geom::Matrix(Geom::Translate(rctx.vp.x0, rctx.vp.y0));
if (symbol->viewBox_set) {
double x, y, width, height;
if (symbol->viewBox_set) {
double x, y, width, height;
rctx.vp.y0 = symbol->viewBox.y0;
rctx.vp.x1 = symbol->viewBox.x1;
rctx.vp.y1 = symbol->viewBox.y1;
rctx.vp.y0 = symbol->viewBox.y0;
rctx.vp.x1 = symbol->viewBox.x1;
rctx.vp.y1 = symbol->viewBox.y1;
- rctx.i2vp = NR::identity();
+ rctx.i2vp = Geom::identity();
}
/* And invoke parent method */
}
/* And invoke parent method */
@@ -392,11 +392,15 @@ sp_symbol_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::X
repr = xml_doc->createElement("svg:symbol");
}
repr = xml_doc->createElement("svg:symbol");
}
- repr->setAttribute("viewBox", object->repr->attribute("viewBox"));
- repr->setAttribute("preserveAspectRatio", object->repr->attribute("preserveAspectRatio"));
+ //XML Tree being used directly here while it shouldn't be.
+ repr->setAttribute("viewBox", object->getRepr()->attribute("viewBox"));
+
+ //XML Tree being used directly here while it shouldn't be.
+ repr->setAttribute("preserveAspectRatio", object->getRepr()->attribute("preserveAspectRatio"));
- if (((SPObjectClass *) (parent_class))->write)
+ if (((SPObjectClass *) (parent_class))->write) {
((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags);
((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags);
+ }
return repr;
}
return repr;
}