Today I have tried to implement the feTile filter primitive renderer. What surprises me is that the renderer class does not seem to be even instantiated when I try to render the filters-tile-01-b.svg test from the W3C SVG 1.1 test suite. ( http://tavmjong.free.fr/INKSCAPE/W3C_SVG/htmlInkscapeHarness/full-filters-ti... )
in this SVG test, the filter effect is applied to an empty <g> node. There is a comment about it:
<!-- The 'g' has no content, but the filter causes a rectangle to be created which is filled with a tiled pattern. --> <g filter="url(#feTileFilter)"/>
I think that this is causing the problem: a void node would not invoke the renderer requiring an area to be rendered. Anyone can give me some hint?
my current feTile implementation is attached to this message
Juca
Wed, 16 Jan 2008 12:07:16 -0200 "Felipe Sanches" <felipe.sanches@...400...> kirjoitti:
Today I have tried to implement the feTile filter primitive renderer. What surprises me is that the renderer class does not seem to be even instantiated when I try to render the filters-tile-01-b.svg test from the W3C SVG 1.1 test suite. ( http://tavmjong.free.fr/INKSCAPE/W3C_SVG/htmlInkscapeHarness/full-filters-ti... )
in this SVG test, the filter effect is applied to an empty <g> node. There is a comment about it:
<!-- The 'g' has no content, but the filter causes a rectangle to be created which is filled with a tiled pattern. -->
<g filter="url(#feTileFilter)"/>
I think that this is causing the problem: a void node would not invoke the renderer requiring an area to be rendered. Anyone can give me some hint?
I looked into feTile description in SVG specification. It appears, that at this stage, filtering framework in Inkscape is not ready to handle feTile.
Biggest problem is the lack of support for filter primitive area. To get any useful results from feTile, that would be essential.
For this renderer not being invoked, there are couple reasons I suspect:
* Before filters were implemented in Inkscape, rendering an empty object would have been rather useless. Maybe there's some check for this
* Filtering framework may produce erroneous filter effects areas when filterUnits is userSpaceOnUse and/or object bounding box is empty.
Actually, this second alternative would explain a couple things...
participants (2)
-
Felipe Sanches
-
Niko Kiirala