Don't render while pinching. Reduces jank and makes zooming easier to debug.

This commit is contained in:
Patrick Walton 2012-02-13 22:48:00 -08:00
Родитель 97d18e40e9
Коммит 33a9ad9c0a
3 изменённых файлов: 7 добавлений и 6 удалений

Просмотреть файл

@ -265,10 +265,8 @@ public abstract class GeckoLayerClient extends LayerClient implements GeckoEvent
}
private void adjustViewportWithThrottling() {
// FIXME: Allow redraw while a finger is down, but only if we're about to checkerboard.
// This requires fixing aboutToCheckerboard() to know about the new buffer size.
/*if (!getLayerController().getRedrawHint())
return;*/
if (!getLayerController().getRedrawHint())
return;
if (mPendingViewportAdjust)
return;

Просмотреть файл

@ -319,12 +319,15 @@ public class LayerController {
* would prefer that the action didn't take place.
*/
public boolean getRedrawHint() {
// FIXME: Allow redraw while a finger is down, but only if we're about to checkerboard.
// This requires fixing aboutToCheckerboard() to know about the new buffer size.
if (mForceRedraw) {
mForceRedraw = false;
return true;
}
return aboutToCheckerboard() && mPanZoomController.getRedrawHint();
return mPanZoomController.getRedrawHint();
}
private RectF getTileRect() {

Просмотреть файл

@ -819,7 +819,7 @@ public class PanZoomController
}
public boolean getRedrawHint() {
return (mState == PanZoomState.NOTHING || mState == PanZoomState.FLING);
return (mState != PanZoomState.PINCHING && mState != PanZoomState.ANIMATED_ZOOM);
}
private void sendPointToGecko(String event, MotionEvent motionEvent) {