- 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