summaryrefslogtreecommitdiffstats
path: root/src/sp-symbol.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-08-27 09:04:37 +0000
committerKrzysztof Kosinski <tweenk.pl@gmail.com>2011-08-27 09:04:37 +0000
commit72cc39b9f0b340548f395c7f61ca9662b34aea09 (patch)
tree34a0853cff6c6040bc2a0572dfa365280fce2601 /src/sp-symbol.cpp
parentFix "snap guides" toggle (diff)
downloadinkscape-72cc39b9f0b340548f395c7f61ca9662b34aea09.tar.gz
inkscape-72cc39b9f0b340548f395c7f61ca9662b34aea09.zip
Refactor SPItem bounding box methods: remove NRRect usage and make code
using them more obvious. Fix filter region computation. (bzr r10582.1.1)
Diffstat (limited to 'src/sp-symbol.cpp')
-rw-r--r--src/sp-symbol.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/sp-symbol.cpp b/src/sp-symbol.cpp
index bee28f8e3..71de619c1 100644
--- a/src/sp-symbol.cpp
+++ b/src/sp-symbol.cpp
@@ -39,7 +39,7 @@ static Inkscape::XML::Node *sp_symbol_write (SPObject *object, Inkscape::XML::Do
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 Geom::OptRect sp_symbol_bbox(SPItem const *item, Geom::Affine const &transform, SPItem::BBoxType type);
static void sp_symbol_print (SPItem *item, SPPrintContext *ctx);
static SPGroupClass *parent_class;
@@ -399,18 +399,20 @@ 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 Geom::OptRect sp_symbol_bbox(SPItem const *item, Geom::Affine const &transform, SPItem::BBoxType type)
{
SPSymbol const *symbol = SP_SYMBOL(item);
+ Geom::OptRect bbox;
if (symbol->cloned) {
// Cloned <symbol> is actually renderable
if (((SPItemClass *) (parent_class))->bbox) {
Geom::Affine const a( symbol->c2p * transform );
- ((SPItemClass *) (parent_class))->bbox(item, bbox, a, flags);
+ bbox = ((SPItemClass *) (parent_class))->bbox(item, a, type);
}
}
+ return bbox;
}
static void sp_symbol_print(SPItem *item, SPPrintContext *ctx)