docs: private float scrollBy(@NonNull MotionEvent event, float dx) {
          if (isSkipViewPager || isViewPagerDisabled) {
              return dx;
          }
  
          final State state = getState();
          getStateController().getMovementArea(state, tmpRectF);
  
          float pagerDx = splitPagerScroll(dx, state, tmpRectF);
          pagerDx = skipPagerMovement(pagerDx, state, tmpRectF);
          float viewDx = dx - pagerDx;
  
          // Applying pager scroll
          boolean shouldFixViewX = isViewPagerInterceptedScroll && viewPagerX == 0;
          int actualX = performViewPagerScroll(event, pagerDx);
          viewPagerX += actualX;
          if (shouldFixViewX) { // Adding back scroll not handled by ViewPager
              viewDx += Math.round(pagerDx) - actualX;
          }
  
          // Returning altered scroll left for image
          return viewDx;
      }