Re: [webkit-dev] Mouse event position related to actual element content

2011-07-09 Thread Sergiy Byelozyorov
Hello,

After some experimenting I have figured out that computing mouse position
relative to the actual content (also ignoring all borders, margins and
padding) can be done as following:

int innerX = xPos - tx - x();
int innerY = yPos - ty - y();

It has worked for me for a long time already. Please let me know if I am
wrong and not taking some special cases into account.

Sergiy Byelozyorov
Computer Graphics Chair
Universitat des Saarlandes
Tel.: +49 (681) 302-3837
Web: http://graphics.cs.uni-saarland.de/sbyelozyorov/



On Thu, Mar 3, 2011 at 13:50, Sergiy Byelozyorov 
byelozyo...@cs.uni-saarland.de wrote:

 Hello,

 I develop an extension to WebKit which adds support for 
 XML3Dhttp://www.xml3d.org.
 For mouse events on XML3D element I have created custom event type
 XML3DMouseEvent that inherits from MouseEvent. In addition to normal
 coordinates it also has 3D position and normal of the element under the
 cursor. In order to avoid massive changes into WebKit I have decided to
 convert existing event from MouseEvent into XML3DMouseEvent when going
 though overloaded XML3DElement::dispatchEvent which allows me to create
 custom event class only for XML3D elements.

 There I also need to perform picking again to actually receive normal and
 position. However at this stage I don't have actual coordinates where mouse
 was relative to the actual rendered image (line x, y, tx and ty in
 RenderObject::nodeAtPoint). All I get is MouseEvent with all it's parameters
 and the element itself.

 Originally I tried using pageX and pageY and deducted offsetTop and
 offsetLeft from them, but this does not take borders and padding into
 account. I have tried accessing computedStyle to get border and padding
 width, but the value in there has type Length and I am not sure how to
 convert it to actual pixels.

 Please let me know how can mouse event position relative to element content
 (not to border or padding). If there is a nicer and more straitforward way
 to implement XML3DMouseEvent I would be happy to hear them.

 Sergiy Byelozyorov
 Computer Graphics Chair
 Universitat des Saarlandes
 Tel.: +49 (681) 302-3837
 Web: http://graphics.cs.uni-saarland.de/sbyelozyorov/


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] Mouse event position related to actual element content

2011-03-03 Thread Sergiy Byelozyorov
Hello,

I develop an extension to WebKit which adds support for
XML3Dhttp://www.xml3d.org.
For mouse events on XML3D element I have created custom event type
XML3DMouseEvent that inherits from MouseEvent. In addition to normal
coordinates it also has 3D position and normal of the element under the
cursor. In order to avoid massive changes into WebKit I have decided to
convert existing event from MouseEvent into XML3DMouseEvent when going
though overloaded XML3DElement::dispatchEvent which allows me to create
custom event class only for XML3D elements.

There I also need to perform picking again to actually receive normal and
position. However at this stage I don't have actual coordinates where mouse
was relative to the actual rendered image (line x, y, tx and ty in
RenderObject::nodeAtPoint). All I get is MouseEvent with all it's parameters
and the element itself.

Originally I tried using pageX and pageY and deducted offsetTop and
offsetLeft from them, but this does not take borders and padding into
account. I have tried accessing computedStyle to get border and padding
width, but the value in there has type Length and I am not sure how to
convert it to actual pixels.

Please let me know how can mouse event position relative to element content
(not to border or padding). If there is a nicer and more straitforward way
to implement XML3DMouseEvent I would be happy to hear them.

Sergiy Byelozyorov
Computer Graphics Chair
Universitat des Saarlandes
Tel.: +49 (681) 302-3837
Web: http://graphics.cs.uni-saarland.de/sbyelozyorov/
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev