I'm trying to track the cursor movement across some text to highlight the
character that the cursor is over. In my svg I have a text element that
contains a tspan element. I tried the following on mousemove for the text,
but always get -1 for the character index:
SVGTSpanElement text = (SVGTSpanElement) event.getTarget();
SVGTextElement parent = (SVGTextElement) text.getParentNode();
SVGMatrix transform = parent.getScreenCTM();
SVGMatrix inverse = transform.inverse();
SVGDocument document = canvas_.getSVGDocument();
SVGSVGElement root = document.getRootElement();
SVGPoint point = root.createSVGPoint();
point.setX(event.getScreenX());
point.setY(event.getScreenY());
point = point.matrixTransform(inverse);
int index = text.getCharNumAtPosition(point);
System.out.println(index);
SVGRect extent = parent.getExtentOfChar(0);
System.out.println(extent.getX() + " " + extent.getY());
So I tried the following, which also gives -1:
point.setX(extent.getX() + 1);
point.setY(extent.getY() + 1);
index = parent.getCharNumAtPosition(point);
System.out.println(index);
Any idea what I might be doing wrong?
Thanks,
Denis
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]