diff options
| author | Niko Kiirala <niko@kiirala.com> | 2006-06-21 16:04:22 +0000 |
|---|---|---|
| committer | kiirala <kiirala@users.sourceforge.net> | 2006-06-21 16:04:22 +0000 |
| commit | d331e75a28fc513289d24bc0dc10ef7be26da888 (patch) | |
| tree | 2b9cae58f7256a2e12625068a54299911859e63e /src/sp-item-group.cpp | |
| parent | it seems we don't have "required" anymore (diff) | |
| download | inkscape-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.cpp | 17 |
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; |
