summaryrefslogtreecommitdiffstats
path: root/src/sp-symbol.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-08-25 19:16:02 +0000
committerKrzysztof Kosinski <tweenk.pl@gmail.com>2011-08-25 19:16:02 +0000
commit093f4174abc07b4ea523617fccdd8028f2670fea (patch)
tree5aba6cd030bc6b0dbb59ec48e32a0b0364b516bd /src/sp-symbol.cpp
parentGerman translation update (diff)
parentReduce default rendering cache size to 64 MiB (diff)
downloadinkscape-093f4174abc07b4ea523617fccdd8028f2670fea.tar.gz
inkscape-093f4174abc07b4ea523617fccdd8028f2670fea.zip
Merge rendering cache branch (GSoC 2011)
(bzr r10579)
Diffstat (limited to 'src/sp-symbol.cpp')
-rw-r--r--src/sp-symbol.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/sp-symbol.cpp b/src/sp-symbol.cpp
index 91218c986..bee28f8e3 100644
--- a/src/sp-symbol.cpp
+++ b/src/sp-symbol.cpp
@@ -19,7 +19,7 @@
#include <string>
#include <2geom/transforms.h>
-#include "display/nr-arena-group.h"
+#include "display/drawing-group.h"
#include "xml/repr.h"
#include "attributes.h"
#include "print.h"
@@ -37,7 +37,7 @@ static void sp_symbol_update (SPObject *object, SPCtx *ctx, guint flags);
static void sp_symbol_modified (SPObject *object, guint flags);
static Inkscape::XML::Node *sp_symbol_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static NRArenaItem *sp_symbol_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int flags);
+static Inkscape::DrawingItem *sp_symbol_show (SPItem *item, Inkscape::Drawing &drawing, unsigned int key, unsigned int flags);
static void sp_symbol_hide (SPItem *item, unsigned int key);
static void sp_symbol_bbox(SPItem const *item, NRRect *bbox, Geom::Affine const &transform, unsigned const flags);
static void sp_symbol_print (SPItem *item, SPPrintContext *ctx);
@@ -325,9 +325,10 @@ static void sp_symbol_update(SPObject *object, SPCtx *ctx, guint flags)
((SPObjectClass *) (parent_class))->update (object, (SPCtx *) &rctx, flags);
}
- // As last step set additional transform of arena group
+ // As last step set additional transform of drawing group
for (SPItemView *v = symbol->display; v != NULL; v = v->next) {
- nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->arenaitem), symbol->c2p);
+ Inkscape::DrawingGroup *g = dynamic_cast<Inkscape::DrawingGroup *>(v->arenaitem);
+ g->setChildTransform(symbol->c2p);
}
} else {
// No-op
@@ -367,17 +368,18 @@ static Inkscape::XML::Node *sp_symbol_write(SPObject *object, Inkscape::XML::Doc
return repr;
}
-static NRArenaItem *sp_symbol_show(SPItem *item, NRArena *arena, unsigned int key, unsigned int flags)
+static Inkscape::DrawingItem *sp_symbol_show(SPItem *item, Inkscape::Drawing &drawing, unsigned int key, unsigned int flags)
{
SPSymbol *symbol = SP_SYMBOL(item);
- NRArenaItem *ai = 0;
+ Inkscape::DrawingItem *ai = 0;
if (symbol->cloned) {
// Cloned <symbol> is actually renderable
if (((SPItemClass *) (parent_class))->show) {
- ai = ((SPItemClass *) (parent_class))->show (item, arena, key, flags);
- if (ai) {
- nr_arena_group_set_child_transform(NR_ARENA_GROUP(ai), symbol->c2p);
+ ai = ((SPItemClass *) (parent_class))->show (item, drawing, key, flags);
+ Inkscape::DrawingGroup *g = dynamic_cast<Inkscape::DrawingGroup *>(ai);
+ if (g) {
+ g->setChildTransform(symbol->c2p);
}
}
}