}
}
- private void drawExtras(Canvas canvas, int extras) {
+ private void drawExtras(Canvas canvas, int extras, boolean animationsRunning) {
// If mNativeClass is 0, we should not reach here, so we do not
// need to check it again.
- // Currently for each draw we compute the animation values;
- // We may in the future decide to do that independently.
- if (nativeEvaluateLayersAnimations()) {
- // If we have unfinished (or unstarted) animations,
- // we ask for a repaint.
- invalidate();
+ if (animationsRunning) {
+ canvas.setDrawFilter(mWebViewCore.mZoomFilter);
}
-
nativeDrawExtras(canvas, extras);
+ canvas.setDrawFilter(null);
}
private void drawCoreAndCursorRing(Canvas canvas, int color,
canvas.scale(mActualScale, mActualScale);
}
+ boolean UIAnimationsRunning = false;
+ // Currently for each draw we compute the animation values;
+ // We may in the future decide to do that independently.
+ if (mNativeClass != 0 && nativeEvaluateLayersAnimations()) {
+ UIAnimationsRunning = true;
+ // If we have unfinished (or unstarted) animations,
+ // we ask for a repaint.
+ invalidate();
+ }
mWebViewCore.drawContentPicture(canvas, color,
- (animateZoom || mPreviewZoomOnly), animateScroll);
+ (animateZoom || mPreviewZoomOnly || UIAnimationsRunning),
+ animateScroll);
if (mNativeClass == 0) return;
// decide which adornments to draw
int extras = DRAW_EXTRAS_NONE;
} else if (drawCursorRing) {
extras = DRAW_EXTRAS_CURSOR_RING;
}
- drawExtras(canvas, extras);
+ drawExtras(canvas, extras, UIAnimationsRunning);
if (extras == DRAW_EXTRAS_CURSOR_RING) {
if (mTouchMode == TOUCH_SHORTPRESS_START_MODE) {