ScrollAnimatorBlackBerry.cpp [plain text]
#include "config.h"
#if ENABLE(SMOOTH_SCROLLING)
#include "ScrollAnimatorBlackBerry.h"
#include "ScrollableArea.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
PassOwnPtr<ScrollAnimator> ScrollAnimator::create(ScrollableArea* scrollableArea)
{
if (scrollableArea && scrollableArea->scrollAnimatorEnabled())
return adoptPtr(new ScrollAnimatorBlackBerry(scrollableArea));
return adoptPtr(new ScrollAnimator(scrollableArea));
}
ScrollAnimatorBlackBerry::ScrollAnimatorBlackBerry(ScrollableArea* scrollableArea)
: ScrollAnimatorNone(scrollableArea)
, m_disableConstrainsScrollingToContentEdgeWhileAnimating(false)
, m_originalConstransScrollingToContentEdge(true)
{
}
void ScrollAnimatorBlackBerry::animationWillStart()
{
if (m_disableConstrainsScrollingToContentEdgeWhileAnimating) {
m_originalConstransScrollingToContentEdge = scrollableArea()->constrainsScrollingToContentEdge();
scrollableArea()->setConstrainsScrollingToContentEdge(false);
}
}
void ScrollAnimatorBlackBerry::animationDidFinish()
{
if (m_disableConstrainsScrollingToContentEdgeWhileAnimating) {
scrollableArea()->setConstrainsScrollingToContentEdge(m_originalConstransScrollingToContentEdge);
m_disableConstrainsScrollingToContentEdgeWhileAnimating = false;
}
}
void ScrollAnimatorBlackBerry::setDisableConstrainsScrollingToContentEdgeWhileAnimating(bool value)
{
m_disableConstrainsScrollingToContentEdgeWhileAnimating = value;
}
}
#endif // ENABLE(SMOOTH_SCROLLING)