feImage renderer is working properly for images. Getting graphics from other svg elements is still not implemented
Nicholas, could you work on the UI for this filter primitive, please?
If you wish to do so, I suppose that it could be easier to construct it completely and just leave the svg element settings hidden, so that, as soon as we have the renderer working for svg elements too we can simply .show() this half of the feImage settings UI
The reason why the renderer still does not work for svg elements is because I don't know how to get the NRPixBlock from an element given its id attribute. Maybe somebody here could help me on this?
Juca
On Tue, 22 Jan 2008 18:13:04 -0200, "Felipe Sanches" <felipe.sanches@...400...> wrote:
The reason why the renderer still does not work for svg elements is because I don't know how to get the NRPixBlock from an element given its id attribute. Maybe somebody here could help me on this?
There isn't "a" NRPixBlock associated with an id; you will need to create an arena/arenaitem "from above" in the SPObject layer and associate it with the filter element object to use for rendering to your own filter pixblock.
Conversely, it is not a good idea to "reach up" into the SPObject layer from the rendering layer if you can help it; if we ever want to multithread the renderer, we must eliminate such facade-breaking.
-mental
On Tue, 22 Jan 2008 19:59:41 -0200, "Felipe Sanches" <felipe.sanches@...400...> wrote:
so.... what should I do then?
The SPObject corresponding to the filter element should be responsible for setting up an NRArena/NRArenaItem for the referenced object and give that to NRFilterElement instances associated with the filter element.
-mental
I have tried to do so, but, since it's the first time I deal with NRArena, I don't know whether I am messing up stuff, or doing the right thing. Could you please, take a look at my patch and tell me what I am doing wrong?
thanks, Juca
On Jan 22, 2008 8:25 PM, MenTaLguY <mental@...3...> wrote:
On Tue, 22 Jan 2008 19:59:41 -0200, "Felipe Sanches" < felipe.sanches@...400...> wrote:
so.... what should I do then?
The SPObject corresponding to the filter element should be responsible for setting up an NRArena/NRArenaItem for the referenced object and give that to NRFilterElement instances associated with the filter element.
-mental
Nicholas, since I got stuck on the renderer (I asked Mental's advice on a patch I wrote for rendering SVG elements on feImage) now I started working on the settings UI. I have finally understood how it works. So, contact me as soon as you read this message so that we avoid duplicating efforts. Right now I am implementing the feImage settings UI.
Juca
On Jan 22, 2008 6:13 PM, Felipe Sanches <felipe.sanches@...400...> wrote:
feImage renderer is working properly for images. Getting graphics from other svg elements is still not implemented
Nicholas, could you work on the UI for this filter primitive, please?
If you wish to do so, I suppose that it could be easier to construct it completely and just leave the svg element settings hidden, so that, as soon as we have the renderer working for svg elements too we can simply .show() this half of the feImage settings UI
The reason why the renderer still does not work for svg elements is because I don't know how to get the NRPixBlock from an element given its id attribute. Maybe somebody here could help me on this?
Juca
OK, I have not done any work on the feImage UI, so there should not be any duplication. :)
-Nicholas
On Jan 23, 2008 4:10 PM, Felipe Sanches <felipe.sanches@...400...> wrote:
Nicholas, since I got stuck on the renderer (I asked Mental's advice on a patch I wrote for rendering SVG elements on feImage) now I started working on the settings UI. I have finally understood how it works. So, contact me as soon as you read this message so that we avoid duplicating efforts. Right now I am implementing the feImage settings UI.
Juca
On Jan 22, 2008 6:13 PM, Felipe Sanches <felipe.sanches@...400...> wrote:
feImage renderer is working properly for images. Getting graphics from
other svg elements is still not implemented
Nicholas, could you work on the UI for this filter primitive, please?
If you wish to do so, I suppose that it could be easier to construct it
completely and just leave the svg element settings hidden, so that, as soon as we have the renderer working for svg elements too we can simply .show() this half of the feImage settings UI
The reason why the renderer still does not work for svg elements is
because I don't know how to get the NRPixBlock from an element given its id attribute. Maybe somebody here could help me on this?
Juca
On Wed, 2008-01-23 at 19:10 -0200, Felipe Sanches wrote:
Nicholas, since I got stuck on the renderer (I asked Mental's advice on a patch I wrote for rendering SVG elements on feImage) now I started working on the settings UI. I have finally understood how it works. So, contact me as soon as you read this message so that we avoid duplicating efforts. Right now I am implementing the feImage settings UI.
Juca
Nice to see the great progress on a very important filter!
I've been trying to get filters-displace-01-f.svg from the W3C test suite to work with the latest version of SVN. This test uses feImage. There seems to be two problems.
1. The images are defined with via relative paths. If I replace the relative paths with absolute paths (or I run inkscape from the svg directory) I can get the images to display. I filed a bug report earlier on this: 181993.
2. feImage as implemented in Inkscape is using absolute coordinates when I believe the filter coordinate system should be used. If I add height, width, x, and y attributes in absolute svg coordinates to svg:feImage I can get the images in the test to display.
While I am at it, I think there are two important bugs with filters that should be fixed before 0.46 is released:
1. The Filter Effects dialog shows the parameters from ALL filters when it opened and an object with an existing filter is selected (Bug 180117).
2. Filters are not always updated correctly when parameters are changed in the Filter Effects dialog or in the XML Editor dialog. Moving the object forces an update.
Tav
I've been trying to get filters-displace-01-f.svg from the W3C test suite to work with the latest version of SVN.
me too!
- The images are defined with via relative paths. If I replace the
relative paths with absolute paths (or I run inkscape from the svg directory) I can get the images to display. I filed a bug report earlier on this: 181993.
yes, this is true. This behaviour is determined by the primitiveUnits=ObjectBoundingBox attribute
2. feImage as implemented in Inkscape is using absolute coordinates when
I believe the filter coordinate system should be used. If I add height, width, x, and y attributes in absolute svg coordinates to svg:feImage I can get the images in the test to display.
there is something strange, though. This test sets x,y,width and height parameters on the <feImage/> primitive node, but SVG spec says feImage doesn't have such parameters; it should inheirit them from the <filter/> node. Am I mistaken? or the filters-displace-01-f.svg from the W3C test suite is really non-compliant?
I have just noticed that I have implemented feImage node with these attributes in it. The code should be changed so that these parameters are read from the <filter/> node. Also, there should be a place on filter effects dialog to configure <filter/> node parameters. There should be placed the x,y,width and height parameters that currently are mistakenly placed inside feImage settings UI. There should also be a "filterUnits" and a "primitiveUnits" combobox at the <filter/> settings. This combobox would give the user 2 options: *userSpaceOnUse | objectBoundingBox*
Juca
well... I just wish to tell you that I am not going to work on it now because I am going to travel now and spend this weekend away from computers. I will be back on Monday. Then I will have 2 or 3 days and then I will travel for a week. So, depending on the release schedule progress these could be my last contribuitions to .46. Feel free to work on it while I'm out of reach.
Juca
On Jan 24, 2008 2:33 PM, Felipe Sanches <felipe.sanches@...400...> wrote:
I've been trying to get filters-displace-01-f.svg from the W3C test suite to work with the latest version of SVN.
me too!
- The images are defined with via relative paths. If I replace the
relative paths with absolute paths (or I run inkscape from the svg directory) I can get the images to display. I filed a bug report earlier on this: 181993.
yes, this is true. This behaviour is determined by the primitiveUnits=ObjectBoundingBox attribute
- feImage as implemented in Inkscape is using absolute coordinates when
I believe the filter coordinate system should be used. If I add height, width, x, and y attributes in absolute svg coordinates to svg:feImage I can get the images in the test to display.
there is something strange, though. This test sets x,y,width and height parameters on the <feImage/> primitive node, but SVG spec says feImage doesn't have such parameters; it should inheirit them from the <filter/> node. Am I mistaken? or the filters-displace-01-f.svg from the W3C test suite is really non-compliant?
I have just noticed that I have implemented feImage node with these attributes in it. The code should be changed so that these parameters are read from the <filter/> node. Also, there should be a place on filter effects dialog to configure <filter/> node parameters. There should be placed the x,y,width and height parameters that currently are mistakenly placed inside feImage settings UI. There should also be a "filterUnits" and a "primitiveUnits" combobox at the <filter/> settings. This combobox would give the user 2 options: *userSpaceOnUse | objectBoundingBox*
Juca
participants (4)
-
Felipe Sanches
-
MenTaLguY
-
Nicholas Bishop
-
Tavmjong Bah