1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace Facebook\WebDriver\Interactions\Touch; 4*04fd306cSNickeau 5*04fd306cSNickeauuse Facebook\WebDriver\Interactions\Internal\WebDriverCoordinates; 6*04fd306cSNickeauuse Facebook\WebDriver\Internal\WebDriverLocatable; 7*04fd306cSNickeau 8*04fd306cSNickeau/** 9*04fd306cSNickeau * Base class for all touch-related actions. 10*04fd306cSNickeau */ 11*04fd306cSNickeauabstract class WebDriverTouchAction 12*04fd306cSNickeau{ 13*04fd306cSNickeau /** 14*04fd306cSNickeau * @var WebDriverTouchScreen 15*04fd306cSNickeau */ 16*04fd306cSNickeau protected $touchScreen; 17*04fd306cSNickeau /** 18*04fd306cSNickeau * @var WebDriverLocatable 19*04fd306cSNickeau */ 20*04fd306cSNickeau protected $locationProvider; 21*04fd306cSNickeau 22*04fd306cSNickeau /** 23*04fd306cSNickeau * @param WebDriverTouchScreen $touch_screen 24*04fd306cSNickeau * @param WebDriverLocatable $location_provider 25*04fd306cSNickeau */ 26*04fd306cSNickeau public function __construct( 27*04fd306cSNickeau WebDriverTouchScreen $touch_screen, 28*04fd306cSNickeau WebDriverLocatable $location_provider = null 29*04fd306cSNickeau ) { 30*04fd306cSNickeau $this->touchScreen = $touch_screen; 31*04fd306cSNickeau $this->locationProvider = $location_provider; 32*04fd306cSNickeau } 33*04fd306cSNickeau 34*04fd306cSNickeau /** 35*04fd306cSNickeau * @return null|WebDriverCoordinates 36*04fd306cSNickeau */ 37*04fd306cSNickeau protected function getActionLocation() 38*04fd306cSNickeau { 39*04fd306cSNickeau return $this->locationProvider !== null 40*04fd306cSNickeau ? $this->locationProvider->getCoordinates() : null; 41*04fd306cSNickeau } 42*04fd306cSNickeau} 43