void WheelScrollAnimation::InitPreferences(TimeStamp aTime) { if (!mIsFirstIteration) { return; } switch (mDeltaType) { case ScrollWheelInput::SCROLLDELTA_PAGE: mOriginMaxMS = clamped(gfxPrefs::PageSmoothScrollMaxDurationMs(), 0, 10000); mOriginMinMS = clamped(gfxPrefs::PageSmoothScrollMinDurationMs(), 0, mOriginMaxMS); break; case ScrollWheelInput::SCROLLDELTA_PIXEL: mOriginMaxMS = clamped(gfxPrefs::PixelSmoothScrollMaxDurationMs(), 0, 10000); mOriginMinMS = clamped(gfxPrefs::PixelSmoothScrollMinDurationMs(), 0, mOriginMaxMS); break; case ScrollWheelInput::SCROLLDELTA_LINE: default: mOriginMaxMS = clamped(gfxPrefs::WheelSmoothScrollMaxDurationMs(), 0, 10000); mOriginMinMS = clamped(gfxPrefs::WheelSmoothScrollMinDurationMs(), 0, mOriginMaxMS); break; } // The pref is 100-based int percentage, while mIntervalRatio is 1-based ratio mIntervalRatio = ((double)gfxPrefs::SmoothScrollDurationToIntervalRatio()) / 100.0; mIntervalRatio = std::max(1.0, mIntervalRatio); InitializeHistory(aTime); }
void GenericScrollAnimation::Update(TimeStamp aTime, const nsSize& aCurrentVelocity) { if (mIsFirstIteration) { InitializeHistory(aTime); } // Clamp the final destination to the scrollable area. CSSPoint clamped = CSSPoint::FromAppUnits(mFinalDestination); clamped.x = mApzc.mX.ClampOriginToScrollableRect(clamped.x); clamped.y = mApzc.mY.ClampOriginToScrollableRect(clamped.y); mFinalDestination = CSSPoint::ToAppUnits(clamped); AsyncScrollBase::Update(aTime, mFinalDestination, aCurrentVelocity); }
void WheelScrollAnimation::InitPreferences(TimeStamp aTime) { if (!mIsFirstIteration) { return; } mOriginMaxMS = clamped(gfxPrefs::WheelSmoothScrollMaxDurationMs(), 0, 10000); mOriginMinMS = clamped(gfxPrefs::WheelSmoothScrollMinDurationMs(), 0, mOriginMaxMS); mIntervalRatio = (gfxPrefs::SmoothScrollDurationToIntervalRatio() * 100) / 100.0; mIntervalRatio = std::max(1.0, mIntervalRatio); InitializeHistory(aTime); }
void WheelScrollAnimation::InitPreferences(TimeStamp aTime) { if (!mIsFirstIteration) { return; } mOriginMaxMS = clamped(gfxPrefs::WheelSmoothScrollMaxDurationMs(), 0, 10000); mOriginMinMS = clamped(gfxPrefs::WheelSmoothScrollMinDurationMs(), 0, mOriginMaxMS); // The pref is 100-based int percentage, while mIntervalRatio is 1-based ratio mIntervalRatio = ((double)gfxPrefs::SmoothScrollDurationToIntervalRatio()) / 100.0; mIntervalRatio = std::max(1.0, mIntervalRatio); InitializeHistory(aTime); }