| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | <?php// Copyright 2004-present Facebook. All Rights Reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at////   http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.namespace Facebook\WebDriver\Interactions\Internal;use Facebook\WebDriver\Exception\UnsupportedOperationException;use Facebook\WebDriver\WebDriverPoint;/** * Interface representing basic mouse operations. */class WebDriverCoordinates{    /**     * @var null     */    private $onScreen;    /**     * @var callable     */    private $inViewPort;    /**     * @var callable     */    private $onPage;    /**     * @var string     */    private $auxiliary;    /**     * @param null $on_screen     * @param callable $in_view_port     * @param callable $on_page     * @param string $auxiliary     */    public function __construct($on_screen, callable $in_view_port, callable $on_page, $auxiliary)    {        $this->onScreen = $on_screen;        $this->inViewPort = $in_view_port;        $this->onPage = $on_page;        $this->auxiliary = $auxiliary;    }    /**     * @throws UnsupportedOperationException     * @return WebDriverPoint     */    public function onScreen()    {        throw new UnsupportedOperationException(            'onScreen is planned but not yet supported by Selenium'        );    }    /**     * @return WebDriverPoint     */    public function inViewPort()    {        return call_user_func($this->inViewPort);    }    /**     * @return WebDriverPoint     */    public function onPage()    {        return call_user_func($this->onPage);    }    /**     * @return string The attached object id.     */    public function getAuxiliary()    {        return $this->auxiliary;    }}
 |