summaryrefslogtreecommitdiffstats
path: root/src/sp-item-group.cpp
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-07-24 21:21:30 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-07-24 21:21:30 +0000
commitf33396b871f4e4273bf131195dcaa2ebcb3163b8 (patch)
tree5bdc7e523e724799007f06cb63ec74ff97195a68 /src/sp-item-group.cpp
parentFix crash bug when exporting PNG from CLI (diff)
parentRead HSL color (CSS Color Module Level 3). (diff)
downloadinkscape-f33396b871f4e4273bf131195dcaa2ebcb3163b8.tar.gz
inkscape-f33396b871f4e4273bf131195dcaa2ebcb3163b8.zip
Update to experimental r13440
(bzr r13341.5.13)
Diffstat (limited to 'src/sp-item-group.cpp')
-rw-r--r--src/sp-item-group.cpp36
1 files changed, 7 insertions, 29 deletions
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index b3db0c1d7..2cfe97db8 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -778,31 +778,17 @@ void SPGroup::update_patheffect(bool write) {
}
}
-
-void
-sp_gslist_update_by_clip_or_mask(GSList *item_list,SPItem * item)
-{
- if(item->mask_ref->getObject()) {
- SPObject * clipormask = item->mask_ref->getObject()->firstChild();
- item_list = g_slist_append(item_list,clipormask);
- }
- if(item->clip_ref->getObject()) {
- SPObject * clipormask = item->clip_ref->getObject()->firstChild();
- item_list = g_slist_append(item_list,clipormask);
- }
-}
-
static void
sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup, bool write)
{
- GSList *item_list = sp_item_group_item_list(group);
- sp_gslist_update_by_clip_or_mask(item_list,group);
- for ( GSList *iter = item_list; iter; iter = iter->next ) {
+ GSList const *item_list = sp_item_group_item_list(SP_GROUP(group));
+
+ for ( GSList const *iter = item_list; iter; iter = iter->next ) {
SPObject *subitem = static_cast<SPObject *>(iter->data);
+
if (SP_IS_GROUP(subitem)) {
sp_group_perform_patheffect(SP_GROUP(subitem), topgroup, write);
} else if (SP_IS_SHAPE(subitem)) {
- sp_gslist_update_by_clip_or_mask(item_list,SP_ITEM(subitem));
SPCurve * c = NULL;
if (SP_IS_PATH(subitem)) {
@@ -813,17 +799,9 @@ sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup, bool write)
// only run LPEs when the shape has a curve defined
if (c) {
- if(SP_IS_MASK(subitem->parent) || SP_IS_CLIPPATH(subitem->parent)) {
- c->transform(i2anc_affine(group, topgroup));
- } else {
- c->transform(i2anc_affine(subitem, topgroup));
- }
+ c->transform(i2anc_affine(subitem, topgroup));
SP_LPE_ITEM(topgroup)->performPathEffect(c);
- if(SP_IS_MASK(subitem->parent) || SP_IS_CLIPPATH(subitem->parent)) {
- c->transform(i2anc_affine(group, topgroup).inverse());
- } else {
- c->transform(i2anc_affine(subitem, topgroup).inverse());
- }
+ c->transform(i2anc_affine(subitem, topgroup).inverse());
SP_SHAPE(subitem)->setCurve(c, TRUE);
if (write) {
@@ -831,7 +809,7 @@ sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup, bool write)
gchar *str = sp_svg_write_path(c->get_pathvector());
repr->setAttribute("d", str);
#ifdef GROUP_VERBOSE
- g_message("sp_group_perform_patheffect writes 'd' attribute");
+g_message("sp_group_perform_patheffect writes 'd' attribute");
#endif
g_free(str);
}