summaryrefslogtreecommitdiffstats
path: root/src/sp-item-group.cpp
diff options
context:
space:
mode:
authorNiko Kiirala <niko@kiirala.com>2006-06-21 16:04:22 +0000
committerkiirala <kiirala@users.sourceforge.net>2006-06-21 16:04:22 +0000
commitd331e75a28fc513289d24bc0dc10ef7be26da888 (patch)
tree2b9cae58f7256a2e12625068a54299911859e63e /src/sp-item-group.cpp
parentit seems we don't have "required" anymore (diff)
downloadinkscape-d331e75a28fc513289d24bc0dc10ef7be26da888.tar.gz
inkscape-d331e75a28fc513289d24bc0dc10ef7be26da888.zip
svg-filters branch merged back to head
(bzr r1252)
Diffstat (limited to 'src/sp-item-group.cpp')
-rw-r--r--src/sp-item-group.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 0f288a372..a4aa83ad2 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -600,6 +600,13 @@ void CGroup::onUpdate(SPCtx *ctx, unsigned int flags) {
if (flags & SP_OBJECT_MODIFIED_FLAG) flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
flags &= SP_OBJECT_MODIFIED_CASCADE;
+ if (flags & SP_OBJECT_STYLE_MODIFIED_FLAG) {
+ SPObject *object = SP_OBJECT(_group);
+ for (SPItemView *v = SP_ITEM(_group)->display; v != NULL; v = v->next) {
+ nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object));
+ }
+ }
+
GSList *l = g_slist_reverse(_childList(true, ActionUpdate));
while (l) {
child = SP_OBJECT (l->data);
@@ -635,6 +642,13 @@ void CGroup::onModified(guint flags) {
if (flags & SP_OBJECT_MODIFIED_FLAG) flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
flags &= SP_OBJECT_MODIFIED_CASCADE;
+ if (flags & SP_OBJECT_STYLE_MODIFIED_FLAG) {
+ SPObject *object = SP_OBJECT(_group);
+ for (SPItemView *v = SP_ITEM(_group)->display; v != NULL; v = v->next) {
+ nr_arena_group_set_style(NR_ARENA_GROUP(v->arenaitem), SP_OBJECT_STYLE(object));
+ }
+ }
+
GSList *l = g_slist_reverse(_childList(true));
while (l) {
child = SP_OBJECT (l->data);
@@ -691,11 +705,14 @@ gchar *CGroup::getDescription() {
NRArenaItem *CGroup::show (NRArena *arena, unsigned int key, unsigned int flags) {
NRArenaItem *ai;
+ SPObject *object = SP_OBJECT(_group);
ai = NRArenaGroup::create(arena);
+
nr_arena_group_set_transparent(NR_ARENA_GROUP (ai),
_group->effectiveLayerMode(key) ==
SPGroup::LAYER);
+ nr_arena_group_set_style(NR_ARENA_GROUP(ai), SP_OBJECT_STYLE(object));
_showChildren(arena, ai, key, flags);
return ai;