summaryrefslogtreecommitdiffstats
path: root/src/sp-filter-primitive.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2012-12-24 07:07:34 +0000
committerJabiertxo Arraiza Cenoz <jtx@jtx.marker.es>2012-12-24 07:07:34 +0000
commit151539ee2fdfdc417a691ba1d51e129036687cff (patch)
tree6be4d0f9f0516f99083506feede6a0806c2b8537 /src/sp-filter-primitive.cpp
parentGoing to merge (diff)
parentextensions. function plotter. patch by ~suv for clip rectangle (Bug 492103) (diff)
downloadinkscape-151539ee2fdfdc417a691ba1d51e129036687cff.tar.gz
inkscape-151539ee2fdfdc417a691ba1d51e129036687cff.zip
Merge from branch
(bzr r11950.1.6)
Diffstat (limited to 'src/sp-filter-primitive.cpp')
-rw-r--r--src/sp-filter-primitive.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/sp-filter-primitive.cpp b/src/sp-filter-primitive.cpp
index b63a05b4b..7ddf3b065 100644
--- a/src/sp-filter-primitive.cpp
+++ b/src/sp-filter-primitive.cpp
@@ -20,6 +20,7 @@
#include <string.h>
#include "attributes.h"
+#include "style.h"
#include "sp-filter-primitive.h"
#include "xml/repr.h"
#include "sp-filter.h"
@@ -100,16 +101,17 @@ static void sp_filter_primitive_init(SPFilterPrimitive *filter_primitive)
static void
sp_filter_primitive_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if ((static_cast<SPObjectClass *>(filter_primitive_parent_class))->build) {
- (static_cast<SPObjectClass *>(filter_primitive_parent_class))->build(object, document, repr);
- }
-
+ object->readAttr( "style" ); // struct not derived from SPItem, we need to do this ourselves.
object->readAttr( "in" );
object->readAttr( "result" );
object->readAttr( "x" );
object->readAttr( "y" );
object->readAttr( "width" );
object->readAttr( "height" );
+
+ if ((static_cast<SPObjectClass *>(filter_primitive_parent_class))->build) {
+ (static_cast<SPObjectClass *>(filter_primitive_parent_class))->build(object, document, repr);
+ }
}
/**
@@ -188,7 +190,9 @@ sp_filter_primitive_update(SPObject *object, SPCtx *ctx, guint flags)
{
//SPFilterPrimitive *filter_primitive = SP_FILTER_PRIMITIVE(object);
+ // Is this required?
if (flags & SP_OBJECT_MODIFIED_FLAG) {
+ object->readAttr( "style" );
object->readAttr( "in" );
object->readAttr( "result" );
object->readAttr( "x" );
@@ -311,6 +315,9 @@ void sp_filter_primitive_renderer_common(SPFilterPrimitive *sp_prim, Inkscape::F
/* TODO: place here code to handle input images, filter area etc. */
nr_prim->set_subregion( sp_prim->x, sp_prim->y, sp_prim->width, sp_prim->height );
+
+ // Give renderer access to filter properties
+ nr_prim->setStyle( sp_prim->style );
}