ScrollingStateFixedNode.h [plain text]
#ifndef ScrollingStateFixedNode_h
#define ScrollingStateFixedNode_h
#if ENABLE(ASYNC_SCROLLING) || USE(COORDINATED_GRAPHICS)
#include "ScrollingConstraints.h"
#include "ScrollingStateNode.h"
#include <wtf/Forward.h>
namespace WebCore {
class FixedPositionViewportConstraints;
class ScrollingStateFixedNode final : public ScrollingStateNode {
public:
static Ref<ScrollingStateFixedNode> create(ScrollingStateTree&, ScrollingNodeID);
virtual Ref<ScrollingStateNode> clone(ScrollingStateTree&) override;
virtual ~ScrollingStateFixedNode();
enum {
ViewportConstraints = NumStateNodeBits
};
WEBCORE_EXPORT void updateConstraints(const FixedPositionViewportConstraints&);
const FixedPositionViewportConstraints& viewportConstraints() const { return m_constraints; }
private:
ScrollingStateFixedNode(ScrollingStateTree&, ScrollingNodeID);
ScrollingStateFixedNode(const ScrollingStateFixedNode&, ScrollingStateTree&);
virtual void syncLayerPositionForViewportRect(const LayoutRect& viewportRect) override;
virtual void dumpProperties(TextStream&, int indent) const override;
FixedPositionViewportConstraints m_constraints;
};
}
SPECIALIZE_TYPE_TRAITS_SCROLLING_STATE_NODE(ScrollingStateFixedNode, isFixedNode())
#endif // ENABLE(ASYNC_SCROLLING) || USE(COORDINATED_GRAPHICS)
#endif // ScrollingStateFixedNode_h