static float viscousFluid(float x) {
        x *= sViscousFluidScale;
        if (x < 1.0f) {
            x -= (1.0f - (float) Math.exp(-x));
        } else {
            float start = 0.36787944117f;   // 1/e == exp(-1)
            x = 1.0f - (float) Math.exp(1.0f - x);
            x = start + x * (1.0f - start);
        }
        x *= sViscousFluidNormalize;
        return x;
    }
Start scrolling based on a fling gesture. The distance travelled will
depend on the initial velocity of the fling.

@param startX Starting point of the scroll (X)
@param startY Starting point of the scroll (Y)
@param velocityX Initial velocity of the fling (X) measured in pixels per
       second.
@param velocityY Initial velocity of the fling (Y) measured in pixels per
       second
@param minX Minimum X value. The scroller will not scroll past this
       point.
@param maxX Maximum X value. The scroller will not scroll past this
       point.
@param minY Minimum Y value. The scroller will not scroll past this
       point.
@param maxY Maximum Y value. The scroller will not scroll past this
       point.
menudrawer/src/net/simonvt/menudrawer/Scroller.java