ScrollingTreeScrollingNodeDelegate.h [plain text]
#pragma once
#if ENABLE(ASYNC_SCROLLING)
#include "ScrollingTreeScrollingNode.h"
namespace WebCore {
class ScrollingTreeScrollingNodeDelegate {
public:
WEBCORE_EXPORT explicit ScrollingTreeScrollingNodeDelegate(ScrollingTreeScrollingNode&);
WEBCORE_EXPORT virtual ~ScrollingTreeScrollingNodeDelegate();
ScrollingTreeScrollingNode& scrollingNode() { return m_scrollingNode; }
const ScrollingTreeScrollingNode& scrollingNode() const { return m_scrollingNode; }
protected:
WEBCORE_EXPORT ScrollingTree& scrollingTree() const;
WEBCORE_EXPORT FloatPoint lastCommittedScrollPosition() const;
WEBCORE_EXPORT const FloatSize& totalContentsSize();
WEBCORE_EXPORT const FloatSize& reachableContentsSize();
WEBCORE_EXPORT const IntPoint& scrollOrigin() const;
FloatPoint currentScrollPosition() const { return m_scrollingNode.currentScrollPosition(); }
FloatPoint minimumScrollPosition() const { return m_scrollingNode.minimumScrollPosition(); }
FloatPoint maximumScrollPosition() const { return m_scrollingNode.maximumScrollPosition(); }
FloatSize scrollableAreaSize() const { return m_scrollingNode.scrollableAreaSize(); }
FloatSize totalContentsSize() const { return m_scrollingNode.totalContentsSize(); }
bool hasEnabledHorizontalScrollbar() const { return m_scrollingNode.hasEnabledHorizontalScrollbar(); }
bool hasEnabledVerticalScrollbar() const { return m_scrollingNode.hasEnabledVerticalScrollbar(); }
ScrollElasticity horizontalScrollElasticity() const { return m_scrollingNode.horizontalScrollElasticity(); }
ScrollElasticity verticalScrollElasticity() const { return m_scrollingNode.verticalScrollElasticity(); }
private:
ScrollingTreeScrollingNode& m_scrollingNode;
};
}
#endif // ENABLE(ASYNC_SCROLLING)