xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nirmesh Desai" <nde...@autonomy.com>
Subject RE: textpath <path> clone affects text positioning?
Date Tue, 19 Aug 2008 18:06:47 GMT

Here is the defs

<defs id='defs'>       
    <path id="templateTextPathDef" d=""> //any change here affects cloned    node position
</defs>

The ecmascript function does following

function updateVisualization()
{
  //some code initializations etc...
   
  var templateTextPathDef = document.getElementById('templateTextPathDef');
   
  //create id

  var textpathDef = templateTextPathDef.cloneNode(true);
  textpathDef.setAttribute('id',textPathDefId);
  textpathDef.setAttribute('d',new_textpath);
	  
  defs.appendChild(textpathDef);

  //use textpath found through new id
  itemLabelTextPath.setAttribute('xlink:href','#'+textPathDefId);
  itemLabelTextPath.appendChild(document.createTextNode(labelText));

  itemLabelTextView.appendChild(itemLabelTextPath);

  visualization.appendChild(itemLabelTextView);
 
}

I am using 'true', however making shallow copy didn't help either.


Thanks
Nirmesh.


-----Original Message-----
From: Helder Magalhães [mailto:helder.magalhaes@gmail.com] 
Sent: Tuesday, August 19, 2008 7:15 AM
To: batik-users@xmlgraphics.apache.org
Subject: Re: textpath <path> clone affects text positioning?

> FireFox and Renesis player seem to put the text in correct place, however
> batik svg viewer seems to somehow also use the 'd' defined in the template
> from where I clone the <path> element so the text keeps changing whenever I
> change the 'd' value in the 'template' <path>.
>
> I need to try to make the svg behave same in applet and the browsers.

As always, creating and attaching a reduced test case [1] to the
message may help receiving more and more valuable feedback. (For this
case, apparently a single SVG file containing a script snippet and
target path elements will do the trick.)

Just a though: are you deep cloning the element (i.e.,
"cloneNode(true)" [2])?. If not, then it is Firefox and Renesis who
may be suffering from issues, as non-deep copies of DOM subtrees
should act as "use" elements, that is, when you manipulate a non-deep
cloned element, the referenced element is the one who is actually
changed.

Hope this helps,

 Helder Magalhães

[1] http://webkit.org/quality/reduction.html
[2] http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-3A0ED0A4

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Mime
View raw message