On Jan 8, 2009, at 2:17 AM, Ariya Hidayat wrote:


Now I want to obtain the absolute coordinates of <img> in the webkit,

Through code how to achieve

Hint: have a look at RenderImage::paintReplaced() function. If you get the render object for that <img>, which is a RenderImage instance, then you are
set.

HTMLImageElement already has x() and y() methods that return the absolute coordinates of the image. However, these methods don't take CSS transforms into account.

Node::getRect() will also give you back an absolute rect for a node, but again it's broken with transforms.

If you're in renderer code, the correct solution is to call localToAbsolute() on the image's renderer, passing 'true' for the useTransforms parameter.

In general, you should be wary of using absolute coordinates unless you absolutely have to. I've been fixing many bugs caused by the use of absolute coordinates for event handling and repainting that show up when CSS transforms are being used. The general rule should be that your coordinate math should be as "local" as possible.

Simon

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to