ScrollingTreeIOS.h [plain text]
#ifndef ScrollingTreeIOS_h
#define ScrollingTreeIOS_h
#if ENABLE(ASYNC_SCROLLING)
#include "ScrollingStateTree.h"
#include "ScrollingTree.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class AsyncScrollingCoordinator;
class ScrollingTreeIOS : public ScrollingTree {
public:
static RefPtr<ScrollingTreeIOS> create(AsyncScrollingCoordinator*);
virtual ~ScrollingTreeIOS();
virtual void commitNewTreeState(PassOwnPtr<ScrollingStateTree>) override;
virtual void handleWheelEvent(const PlatformWheelEvent&) override { }
virtual EventResult tryToHandleWheelEvent(const PlatformWheelEvent&) override { return DidNotHandleEvent; }
virtual void invalidate() override;
private:
explicit ScrollingTreeIOS(AsyncScrollingCoordinator*);
virtual bool isScrollingTreeIOS() const override { return true; }
virtual PassRefPtr<ScrollingTreeNode> createScrollingTreeNode(ScrollingNodeType, ScrollingNodeID) override;
virtual void scrollingTreeNodeDidScroll(ScrollingNodeID, const FloatPoint& scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) override;
virtual FloatRect fixedPositionRect() override;
RefPtr<AsyncScrollingCoordinator> m_scrollingCoordinator;
};
SCROLLING_TREE_TYPE_CASTS(ScrollingTreeIOS, isScrollingTreeIOS());
}
#endif // ENABLE(ASYNC_SCROLLING)
#endif // ScrollingTreeIOS_h