Unreviewed, rolling out r126169.
[WebKit-https.git] / Source / WebCore / platform / ScrollAnimator.h
index 155c6e5..0c5f32c 100644 (file)
@@ -31,6 +31,7 @@
 #ifndef ScrollAnimator_h
 #define ScrollAnimator_h
 
+#include "PlatformWheelEvent.h"
 #include "ScrollTypes.h"
 #include <wtf/Forward.h>
 
@@ -38,6 +39,7 @@ namespace WebCore {
 
 class FloatPoint;
 class ScrollableArea;
+class Scrollbar;
 
 class ScrollAnimator {
 public:
@@ -53,12 +55,49 @@ public:
 
     virtual void scrollToOffsetWithoutAnimation(const FloatPoint&);
 
+    ScrollableArea* scrollableArea() const { return m_scrollableArea; }
+
+    virtual void setIsActive() { }
+
+    virtual bool handleWheelEvent(const PlatformWheelEvent&);
+
+#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN))
+    virtual void handleWheelEventPhase(PlatformWheelEventPhase) { }
+#endif
+
+    void setCurrentPosition(const FloatPoint&);
     FloatPoint currentPosition() const;
 
+    virtual void cancelAnimations() { }
+    virtual void serviceScrollAnimations() { }
+
+    virtual void contentAreaWillPaint() const { }
+    virtual void mouseEnteredContentArea() const { }
+    virtual void mouseExitedContentArea() const { }
+    virtual void mouseMovedInContentArea() const { }
+    virtual void mouseEnteredScrollbar(Scrollbar*) const { }
+    virtual void mouseExitedScrollbar(Scrollbar*) const { }
+    virtual void willStartLiveResize() { }
+    virtual void contentsResized() const { }
+    virtual void willEndLiveResize() { }
+    virtual void contentAreaDidShow() const { }
+    virtual void contentAreaDidHide() const { }
+
+    virtual void didAddVerticalScrollbar(Scrollbar*) { }
+    virtual void willRemoveVerticalScrollbar(Scrollbar*) { }
+    virtual void didAddHorizontalScrollbar(Scrollbar*) { }
+    virtual void willRemoveHorizontalScrollbar(Scrollbar*) { }
+
+    virtual bool shouldScrollbarParticipateInHitTesting(Scrollbar*) { return true; }
+
+    virtual void notifyContentAreaScrolled() { }
+
+    virtual bool isRubberBandInProgress() const { return false; }
+
 protected:
-    ScrollAnimator(ScrollableArea*);
+    explicit ScrollAnimator(ScrollableArea*);
 
-    void notityPositionChanged();
+    virtual void notifyPositionChanged();
 
     ScrollableArea* m_scrollableArea;
     float m_currentPosX; // We avoid using a FloatPoint in order to reduce