W3C home > Mailing lists > Public > public-cdf@w3.org > October 2007

Re: Pointer Events in SVG

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
Message-ID: <alpine.DEB.0.99.0710250941370.6096@holly>

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:


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:47 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:02:22 UTC