From d331e75a28fc513289d24bc0dc10ef7be26da888 Mon Sep 17 00:00:00 2001 From: Niko Kiirala Date: Wed, 21 Jun 2006 16:04:22 +0000 Subject: svg-filters branch merged back to head (bzr r1252) --- src/display/nr-arena-group.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/display/nr-arena-group.cpp') diff --git a/src/display/nr-arena-group.cpp b/src/display/nr-arena-group.cpp index f15c72e8e..9657715ea 100644 --- a/src/display/nr-arena-group.cpp +++ b/src/display/nr-arena-group.cpp @@ -12,7 +12,9 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include "nr-arena-group.h" +#include "display/nr-arena-group.h" +#include "display/nr-filter.h" +#include "style.h" static void nr_arena_group_class_init (NRArenaGroupClass *klass); static void nr_arena_group_init (NRArenaGroup *group); @@ -75,6 +77,7 @@ nr_arena_group_init (NRArenaGroup *group) group->transparent = FALSE; group->children = NULL; group->last = NULL; + group->style = NULL; nr_matrix_set_identity (&group->child_transform); #ifdef arena_item_tile_cache @@ -181,6 +184,20 @@ nr_arena_group_update (NRArenaItem *item, NRRectL *area, NRGC *gc, unsigned int return beststate; } +void nr_arena_group_set_style (NRArenaGroup *group, SPStyle *style) +{ + g_return_if_fail(group != NULL); + g_return_if_fail(NR_IS_ARENA_GROUP(group)); + + if (style) sp_style_ref(style); + if (group->style) sp_style_unref(group->style); + group->style = style; + + if (style && style->filter.set && style->filter.filter) { + group->filter = new NR::Filter(); + } +} + static unsigned int nr_arena_group_render (NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags) { -- cgit v1.2.3