public Point getLocation ( ) { assertElementNotStale ( ) ; String coordinates = debugger . callFunctionOnObject ( "var coords = " + OperaAtom . GET_LOCATION + "(locator); return coords.x + ',' + coords.y;" , objectId ) ; // TODO: The goog.dom.getDocumentScrollElement_() function the Google closure library doesn't // return the document for SVG documents. This is used by the above atom. In this case the // coordinates string will be empty, so we use this fallback to get the coordinates. Hopefully // a fix will be forthcoming in the closure library. if ( coordinates . isEmpty ( ) ) { logger . warning ( "Falling back to non-atom positioning code in getLocation" ) ; coordinates = debugger . callFunctionOnObject ( "var coords = locator.getBoundingClientRect();" + "return (coords.left-window.pageXOffset)+','+(coords.top-window.pageYOffset)" , objectId ) ; } String [ ] location = coordinates . split ( "," ) ; return new Point ( Integer . valueOf ( location [ 0 ] ) , Integer . valueOf ( location [ 1 ] ) ) ; }
Click top left can be modified to click in the middle