docs: public boolean checkTouchSlop(int directions, int pointerId) {
          if (!isPointerDown(pointerId)) {
              return false;
          }
  
          final boolean checkHorizontal = (directions & DIRECTION_HORIZONTAL) == DIRECTION_HORIZONTAL;
          final boolean checkVertical = (directions & DIRECTION_VERTICAL) == DIRECTION_VERTICAL;
  
          final float dx = mLastMotionX[pointerId] - mInitialMotionX[pointerId];
          final float dy = mLastMotionY[pointerId] - mInitialMotionY[pointerId];
  
          if (checkHorizontal && checkVertical) {
              return dx * dx + dy * dy > mTouchSlop * mTouchSlop;
          } else if (checkHorizontal) {
              return Math.abs(dx) > mTouchSlop;
          } else if (checkVertical) {
              return Math.abs(dy) > mTouchSlop;
          }
          return false;
      }