ScrollingTreeFrameScrollingNodeNicosia.h [plain text]
#pragma once
#if ENABLE(ASYNC_SCROLLING) && USE(NICOSIA)
#include "ScrollingTreeFrameScrollingNode.h"
#include <wtf/RefPtr.h>
namespace Nicosia {
class CompositionLayer;
}
namespace WebCore {
class ScrollingTreeFrameScrollingNodeNicosia final : public ScrollingTreeFrameScrollingNode {
public:
static Ref<ScrollingTreeFrameScrollingNode> create(ScrollingTree&, ScrollingNodeType, ScrollingNodeID);
virtual ~ScrollingTreeFrameScrollingNodeNicosia();
private:
ScrollingTreeFrameScrollingNodeNicosia(ScrollingTree&, ScrollingNodeType, ScrollingNodeID);
void commitStateBeforeChildren(const ScrollingStateNode&) override;
void commitStateAfterChildren(const ScrollingStateNode&) override;
ScrollingEventResult handleWheelEvent(const PlatformWheelEvent&) override;
FloatPoint adjustedScrollPosition(const FloatPoint&, ScrollClamping) const override;
void currentScrollPositionChanged() override;
void repositionScrollingLayers() override;
void repositionRelatedLayers() override;
RefPtr<Nicosia::CompositionLayer> m_rootContentsLayer;
RefPtr<Nicosia::CompositionLayer> m_counterScrollingLayer;
RefPtr<Nicosia::CompositionLayer> m_insetClipLayer;
RefPtr<Nicosia::CompositionLayer> m_contentShadowLayer;
RefPtr<Nicosia::CompositionLayer> m_headerLayer;
RefPtr<Nicosia::CompositionLayer> m_footerLayer;
};
}
#endif // ENABLE(ASYNC_SCROLLING) && USE(NICOSIA)