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 Ref<ScrollingTreeIOS> create(AsyncScrollingCoordinator*);
virtual ~ScrollingTreeIOS();
virtual void commitNewTreeState(std::unique_ptr<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;
void currentSnapPointIndicesDidChange(WebCore::ScrollingNodeID, unsigned horizontal, unsigned vertical) override;
virtual FloatRect fixedPositionRect() override;
RefPtr<AsyncScrollingCoordinator> m_scrollingCoordinator;
};
}
SPECIALIZE_TYPE_TRAITS_SCROLLING_TREE(WebCore::ScrollingTreeIOS, isScrollingTreeIOS())
#endif // ENABLE(ASYNC_SCROLLING)
#endif // ScrollingTreeIOS_h