Howdy all, Question for anyone: how do I find the index of a character in a SVGTextContentElement just-prior to a sub-element?
I'm working on an SVG-Editor, and when the user clicks on a text element, it becomes the active text element and is where characters get inserted / removed. I'm stuck on what to do at border-conditions when the user moves the caret by hitting the left arrow-key or right arrow-key. For example: suppose I have <text xml:space="default" id="main-elt">This <tspan id="sub-elt-1" style="color:blue"> is </tspan> --- <tspan id="sub-elt-2" style="color:red"> My </tspan> --- example.</text> ... and the user clicks on the 'M' in "My". I set the active element to be "sub-elt-2", and the current index to be '0'. If a user types, it goes inside "sub-elt-2". But suppose the user hits the Left-Arrow, to back up a step and type after "is". Moving up to the parent element is easy; but what should the cursor index be? (Note that I've left extra spaces in there, and set the xml:space to "default" -- the SVG spec says that character indices should be calculated after text is compressed, which is the wrench in this equasion). If I didn't have to worry about character-compression, I'd just walk the parent's tree until I found "sub-elt-2", keeping track of lengths along the way. But this falls apart when doing character-compression; are there easy ways to calculate the character-index just prior to element "sub-elt-2"? Or even just get the text prior to it, compressed if necessary? Thanks! - Bibek PS: sorry 'bout the confusing item on DOM Click events in 1.5.1. I'm not exactly sure what the problem is, but I know it's in my code somewhere. It looks like nodes are being added wrong when pulled from another document... but I know how to work around it for now, so 'tis fine ATM. :-) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
