WebDriverFlickFromElementAction.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. // Copyright 2004-present Facebook. All Rights Reserved.
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. namespace Facebook\WebDriver\Interactions\Touch;
  16. use Facebook\WebDriver\WebDriverAction;
  17. use Facebook\WebDriver\WebDriverElement;
  18. class WebDriverFlickFromElementAction extends WebDriverTouchAction implements WebDriverAction
  19. {
  20. /**
  21. * @var int
  22. */
  23. private $x;
  24. /**
  25. * @var int
  26. */
  27. private $y;
  28. /**
  29. * @var int
  30. */
  31. private $speed;
  32. /**
  33. * @param WebDriverTouchScreen $touch_screen
  34. * @param WebDriverElement $element
  35. * @param int $x
  36. * @param int $y
  37. * @param int $speed
  38. */
  39. public function __construct(
  40. WebDriverTouchScreen $touch_screen,
  41. WebDriverElement $element,
  42. $x,
  43. $y,
  44. $speed
  45. ) {
  46. $this->x = $x;
  47. $this->y = $y;
  48. $this->speed = $speed;
  49. parent::__construct($touch_screen, $element);
  50. }
  51. public function perform()
  52. {
  53. $this->touchScreen->flickFromElement(
  54. $this->locationProvider,
  55. $this->x,
  56. $this->y,
  57. $this->speed
  58. );
  59. }
  60. }