@Override
	protected void dispatchDraw(Canvas canvas) {

		// ViewGroup.dispatchDraw() supports many features we don't need:
		// clip to padding, layout animation, animation listener, disappearing
		// children, etc. The following implementation attempts to fast-track
		// the drawing dispatch by drawing only what we know needs to be drawn.

		final long drawingTime = getDrawingTime();
		// todo be smarter about which children need drawing
		final int count = getChildCount();
		for (int i = 0; i < count; i++) {
			drawChild(canvas, getChildAt(i), drawingTime);
		}

		for (OnScrollListener mListener : mListeners) {
			int adjustedScrollY = getScrollY() + pageHeightPadding();
			mListener.onScroll(adjustedScrollY);
			if (adjustedScrollY % pageHeight == 0) {
				mListener.onViewScrollFinished(adjustedScrollY / pageHeight);
			}
		}
	}
Gets the value that getScrollX() should return if the specified page is
the current page (and no other scrolling is occurring). Use this to pass
a value to scrollTo(), for example.

@param whichPage
@return
app/src/main/java/pro/alexzaitsev/freepager/library/view/core/VerticalPager.java