- From: Dave Raggett <dsr@w3.org>
- Date: Thu, 25 Oct 2007 09:55:35 +0100 (BST)
- To: Daniel Herzog <daniel.herzog@gmail.com>
- Cc: public-cdf@w3.org, www-svg@w3.org
You can readily get the screen coordinates and transform them back into the SVG coordinate system, e.g. function locateEvent(event) { var target = evt.target; var m = target.getScreenCTM(); var pt = document.documentElement.createSVGPoint(); pt.x = evt.clientX; pt.y = evt.clientY; pt = pt.matrixTransform(m.inverse()); return pt; } But whilst getScreenCTM() and inverse() are available in SVGT 1.2, it seems that createSVGPoint() and matrixTransform() aren't, at least based upon searching through: http://www.w3.org/TR/SVGMobile12/svgudom.html Am I missing something, or this is intentional? I agree that it would be nice to have an easier way to getting the event location in the SVG coordinate system. Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett On Wed, 24 Oct 2007, Daniel Herzog wrote: > Hi, > > just to quickly introduce myself, I work at Vodafone and contributed to the > WICD Testsuite. > > I would like to know, is there a way to get the pointer-position in > reference to an SVGs coordinate-system? Please take a look at the following > testfile (with Opera 9.23, Firefox2, Safari3): > http://dev.danielherzog.de/wicd/pointerPositionTesting.xhtml > > The blue rect is part of an SVG that has a viewBox of only 20 x 6, but the > whole thing is in a container much bigger and is therefore scaled up. When > hovering the SVG you see some properties of mouse-events below it, but none > of them quite fit > the SVGs coordinate system. The maximum x-values for that would be 20 then. > I think it would be important to have an easy way for getting to these values, just thinking of a simple mousefollow, or slider controls, for example. > > Thanks a lot, > Daniel > <http://dev.danielherzog.de/wicd/pointerPositionTesting.xhtml> >
Received on Thursday, 25 October 2007 08:55:43 UTC