6package org.mozilla.gecko.gfx;
8import android.graphics.PointF;
9import android.os.Handler;
11class SubdocumentScrollHelper {
12 private static final String LOGTAG =
"GeckoSubdocumentScrollHelper";
14 private final Handler mUiHandler;
18 private final PointF mPendingDisplacement;
21 private boolean mOverridePanning;
26 private boolean mOverrideScrollAck;
30 private boolean mOverrideScrollPending;
34 private boolean mScrollSucceeded;
36 SubdocumentScrollHelper() {
38 mUiHandler =
new Handler();
39 mPendingDisplacement =
new PointF();
45 boolean scrollBy(PointF displacement) {
46 if (! mOverridePanning) {
50 if (! mOverrideScrollAck) {
51 mOverrideScrollPending =
true;
52 mPendingDisplacement.x += displacement.x;
53 mPendingDisplacement.y += displacement.y;
57 mOverrideScrollAck =
false;
58 mOverrideScrollPending =
false;
61 mPendingDisplacement.x = 0;
62 mPendingDisplacement.y = 0;
68 mOverridePanning =
false;
72 return mOverridePanning;
75 boolean lastScrollSucceeded() {
76 return mScrollSucceeded;