diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 9e836e84ae6e6287ede0a95f0467036d8c87ae3b..469b95222cba39a74e921de55a31113367bae5a6 100644 (file)
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
#include "prefs-utils.h"
#include "conn-avoid-ref.h"
#include "conditions.h"
+#include "sp-filter-reference.h"
#include "libnr/nr-matrix-div.h"
#include "libnr/nr-matrix-fns.h"
#include "util/reverse-list.h"
#include "xml/repr.h"
+#include "extract-uri.h"
#define noSP_ITEM_DEBUG_IDLE
break;
}
case SP_PROP_CLIP_PATH: {
- gchar *uri = Inkscape::parse_css_url(value);
+ gchar *uri = extract_uri(value);
if (uri) {
try {
item->clip_ref->attach(Inkscape::URI(uri));
break;
}
case SP_PROP_MASK: {
- gchar *uri=Inkscape::parse_css_url(value);
+ gchar *uri = extract_uri(value);
if (uri) {
try {
item->mask_ref->attach(Inkscape::URI(uri));
static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p)
{
NR::Maybe<NR::Rect> bbox = item->getBounds(sp_item_i2d_affine(item));
- /* Just a pair of opposite corners of the bounding box suffices given that we don't yet
+ /* Just the corners of the bounding box suffices given that we don't yet
support angled guide lines. */
if (bbox) {
- *p = bbox->min();
- *p = bbox->max();
+ NR::Point p1, p2;
+ p1 = bbox->min();
+ p2 = bbox->max();
+ *p = p1;
+ *p = NR::Point(p1[NR::X], p2[NR::Y]);
+ *p = p2;
+ *p = NR::Point(p1[NR::Y], p2[NR::X]);
}
}
if (item_class.snappoints) {
item_class.snappoints(item, p);
}
+
+ *p = item->getCenter();
}
void
@@ -1195,7 +1204,7 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix cons
!preserve && // user did not chose to preserve all transforms
!item->clip_ref->getObject() && // the object does not have a clippath
!item->mask_ref->getObject() && // the object does not have a mask
- !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->filter.filter)
+ !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter())
// the object does not have a filter, or the transform is translation (which is supposed to not affect filters)
) {
transform_attr = ((SPItemClass *) G_OBJECT_GET_CLASS(item))->set_transform(item, transform);