diff options
| author | Jasper van de Gronde <jasper.vandegronde@gmail.com> | 2010-04-15 19:14:51 +0000 |
|---|---|---|
| committer | Jasper van de Gronde <jasper.vandegronde@gmail.com> | 2010-04-15 19:14:51 +0000 |
| commit | 0d391b95f7c35914498b07ff833c5541576a0c4b (patch) | |
| tree | 2a812664025fe91801e5ef91ba52a2e82fecccca /src/sp-filter.cpp | |
| parent | First step in fixing the changing of font faces (must also update (diff) | |
| download | inkscape-0d391b95f7c35914498b07ff833c5541576a0c4b.tar.gz inkscape-0d391b95f7c35914498b07ff833c5541576a0c4b.zip | |
filterUnits and primitiveUnits are now actually read/set, percentages for primitiveUnits are still problematic though
(bzr r9335)
Diffstat (limited to 'src/sp-filter.cpp')
| -rw-r--r-- | src/sp-filter.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp index 7197c1ec9..4cbafe50c 100644 --- a/src/sp-filter.cpp +++ b/src/sp-filter.cpp @@ -108,7 +108,7 @@ sp_filter_init(SPFilter *filter) filter->height = 0; filter->filterUnits = SP_FILTER_UNITS_OBJECTBOUNDINGBOX; - filter->primitiveUnits = SP_FILTER_UNITS_OBJECTBOUNDINGBOX; + filter->primitiveUnits = SP_FILTER_UNITS_USERSPACEONUSE; filter->filterUnits_set = FALSE; filter->primitiveUnits_set = FALSE; @@ -204,14 +204,14 @@ sp_filter_set(SPObject *object, unsigned int key, gchar const *value) break; case SP_ATTR_PRIMITIVEUNITS: if (value) { - if (!strcmp(value, "userSpaceOnUse")) { - filter->primitiveUnits = SP_FILTER_UNITS_USERSPACEONUSE; - } else { + if (!strcmp(value, "objectBoundingBox")) { filter->primitiveUnits = SP_FILTER_UNITS_OBJECTBOUNDINGBOX; + } else { + filter->primitiveUnits = SP_FILTER_UNITS_USERSPACEONUSE; } filter->primitiveUnits_set = TRUE; } else { - filter->primitiveUnits = SP_FILTER_UNITS_OBJECTBOUNDINGBOX; + filter->primitiveUnits = SP_FILTER_UNITS_USERSPACEONUSE; filter->primitiveUnits_set = FALSE; } object->requestModified(SP_OBJECT_MODIFIED_FLAG); @@ -322,11 +322,11 @@ sp_filter_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::N if ((flags & SP_OBJECT_WRITE_ALL) || filter->primitiveUnits_set) { switch (filter->primitiveUnits) { - case SP_FILTER_UNITS_USERSPACEONUSE: - repr->setAttribute("primitiveUnits", "userSpaceOnUse"); + case SP_FILTER_UNITS_OBJECTBOUNDINGBOX: + repr->setAttribute("primitiveUnits", "objectBoundingBox"); break; default: - repr->setAttribute("primitiveUnits", "objectBoundingBox"); + repr->setAttribute("primitiveUnits", "userSpaceOnUse"); break; } } @@ -446,6 +446,8 @@ void sp_filter_build_renderer(SPFilter *sp_filter, Inkscape::Filters::Filter *nr sp_filter->_renderer = nr_filter; + nr_filter->set_filter_units(sp_filter->filterUnits); + nr_filter->set_primitive_units(sp_filter->primitiveUnits); nr_filter->set_x(sp_filter->x); nr_filter->set_y(sp_filter->y); nr_filter->set_width(sp_filter->width); |
