private void onDrawInScrolling(Canvas canvas) { final ZLView view = ZLApplication.Instance().getCurrentView(); // final int w = getWidth(); // final int h = getMainAreaHeight(); final AnimationProvider animator = getAnimationProvider(); final AnimationProvider.Mode oldMode = animator.getMode(); animator.doStep(); if (animator.inProgress()) { animator.draw(canvas); if (animator.getMode().Auto) { postInvalidate(); } drawFooter(canvas); } else { switch (oldMode) { case AnimatedScrollingForward: { final ZLView.PageIndex index = animator.getPageToScrollTo(); myBitmapManager.shift(index == ZLView.PageIndex.next); view.onScrollingFinished(index); ZLApplication.Instance().onRepaintFinished(); break; } case AnimatedScrollingBackward: view.onScrollingFinished(ZLView.PageIndex.current); break; } onDrawStatic(canvas); } }
private void onDrawStatic(final Canvas canvas) { myBitmapManager.setSize(getWidth(), getMainAreaHeight()); canvas.drawBitmap(myBitmapManager.getBitmap(ZLView.PageIndex.current), 0, 0, myPaint); drawFooter(canvas); new Thread() { @Override public void run() { final ZLView view = ZLApplication.Instance().getCurrentView(); final ZLAndroidPaintContext context = new ZLAndroidPaintContext( canvas, getWidth(), getMainAreaHeight(), view.isScrollbarShown() ? getVerticalScrollbarWidth() : 0); view.preparePage(context, ZLView.PageIndex.next); } }.start(); }
@Override public void reset() { myBitmapManager.reset(); }