Hi Lukasz,

   This is possible, and with SVG 1.2 and the sXBL stuff that
Cameron is working on much of this sort of processing
will become 'integrated' into SVG.  So it might be of interest
to try and work with Cameron and the SVG 1.2 branch to see
what can be done going forward.

   In the shorter term you might look at how the multiImage
element is implemented.  It does a lot of what you are
considering.  It internally builds 'image' or 'g' elements
uses the BridgeContext & GVTBuilder to construct a multiple
GVT trees that it passes rendering to as appropriate.

   It's not exactly what you are looking to do but it is close.

Lukasz Matuszczak wrote:
Is it possible (and is it a proper way to do it?) to make such batik extension which would generate some complex set of svg tags from my custom tag. Then I would like to control the state of these svg tags from a Java class (perhaps some specific kind of a graphics node).

for example i would like to generate from a tag:

<oc:component x="10" y="40" width="200" height="300" xmlns:oc="http://mynamespace";
state="off" type="measurement" font-style="Arial">
<oc:dataSource>someSource</oc:dataSource>
</oc:component>


||
\/

<g>
<rect x="10" y="40" width="200" height="300" visible="dependant on datasource"/>
<text font-style="Arial" x="20" y="400" font-size="50">value from datasource</text>
<circle cx="150" cy="150" r="20" fill="dependant on datasource" visible="dependant on datasource"/>
<g>
some complex svg content dependant on datasource
</g>
</g>


Note that several fragments (attributes, value of <text> tag, content of <g> tag) of this document fragment are somehow dependant on Java processing. In my current solution I'm searching for my components before building gvt tree (nodelist = doc.getElementsByTagNameNS("http://mynamespace","component";)) and then I'm creating java objects (new MyComponent(node from nodelist)). In these MyComponent objects I'm operating on Dom tree using update manager.
This solution has several drawbacks. Firstly it's a little complex to synchronize processing (start and then stop it correctly). I can't update before UpdateManager is started, and I don't want to hold references to DOM tree in MyComponent object if the JSVGCanvas is disposed. Moreover searching for my components (using getElementsByTagNameNS) is a bit time-consuming. Therefore I've thought about integrate my components with batik extension mechanism.


But I don't know how to do it. AFAIK there is a one to one correspondence between DOM and GVT nodes. I don't want also to draw my custom GraphicsNode without using SVG tags, because the power of my components' presentation lies in SVG.

Any suggestions?

Regards,
Lukasz Matuszczak


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to