summaryrefslogtreecommitdiffstats
path: root/src/sp-filter.cpp
diff options
context:
space:
mode:
authorNiko Kiirala <niko@kiirala.com>2007-07-21 07:00:28 +0000
committerkiirala <kiirala@users.sourceforge.net>2007-07-21 07:00:28 +0000
commitf3f8edbd42d260303b2d26cb3edd1f4e1b427dc9 (patch)
tree4f221d744a4b5c4e19edb7ddbb9b98c5482de4c6 /src/sp-filter.cpp
parentPatch from Felipe Sanches: support for feConvolveMatrix filter primitive (diff)
downloadinkscape-f3f8edbd42d260303b2d26cb3edd1f4e1b427dc9.tar.gz
inkscape-f3f8edbd42d260303b2d26cb3edd1f4e1b427dc9.zip
Added a missing link in making the filterRes attribute work
(bzr r3271)
Diffstat (limited to 'src/sp-filter.cpp')
-rw-r--r--src/sp-filter.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp
index aae143e8d..e9c2af19d 100644
--- a/src/sp-filter.cpp
+++ b/src/sp-filter.cpp
@@ -207,24 +207,25 @@ sp_filter_set(SPObject *object, unsigned int key, gchar const *value)
}
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
- case SP_ATTR_X:
+ case SP_ATTR_X:
filter->x.readOrUnset(value);
- object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
- case SP_ATTR_Y:
- filter->y.readOrUnset(value);
- object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ case SP_ATTR_Y:
+ filter->y.readOrUnset(value);
+ object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
- case SP_ATTR_WIDTH:
- filter->width.readOrUnset(value);
- object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ case SP_ATTR_WIDTH:
+ filter->width.readOrUnset(value);
+ object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
- case SP_ATTR_HEIGHT:
- filter->height.readOrUnset(value);
- object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ case SP_ATTR_HEIGHT:
+ filter->height.readOrUnset(value);
+ object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
- case SP_ATTR_FILTERRES:
- filter->filterRes.set(value);
+ case SP_ATTR_FILTERRES:
+ filter->filterRes.set(value);
+ object->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
case SP_ATTR_XLINK_HREF:
if (value) {
@@ -412,6 +413,15 @@ void sp_filter_build_renderer(SPFilter *sp_filter, NR::Filter *nr_filter)
nr_filter->set_width(sp_filter->width);
nr_filter->set_height(sp_filter->height);
+ if (sp_filter->filterRes.getNumber() >= 0) {
+ if (sp_filter->filterRes.getOptNumber() >= 0) {
+ nr_filter->set_resolution(sp_filter->filterRes.getNumber(),
+ sp_filter->filterRes.getOptNumber());
+ } else {
+ nr_filter->set_resolution(sp_filter->filterRes.getNumber());
+ }
+ }
+
nr_filter->clear_primitives();
SPObject *primitive_obj = sp_filter->children;
while (primitive_obj) {