ScrollLatchingState.h [plain text]
#ifndef ScrollLatchingState_h
#define ScrollLatchingState_h
#include <wtf/RefPtr.h>
namespace WebCore {
class ContainerNode;
class Element;
class Frame;
class ScrollLatchingState final {
public:
ScrollLatchingState();
~ScrollLatchingState();
void clear();
Element* wheelEventElement() { return m_wheelEventElement.get(); }
void setWheelEventElement(PassRefPtr<Element>);
Frame* frame() { return m_frame; }
void setFrame(Frame* frame) { m_frame = frame; }
bool widgetIsLatched() const { return m_widgetIsLatched; }
void setWidgetIsLatched(bool isOverWidget);
Element* previousWheelScrolledElement() { return m_previousWheelScrolledElement.get(); }
void setPreviousWheelScrolledElement(RefPtr<Element>&&);
ContainerNode* scrollableContainer() { return m_scrollableContainer.get(); }
void setScrollableContainer(PassRefPtr<ContainerNode>);
bool startedGestureAtScrollLimit() const { return m_startedGestureAtScrollLimit; }
void setStartedGestureAtScrollLimit(bool startedAtLimit) { m_startedGestureAtScrollLimit = startedAtLimit; }
private:
RefPtr<Element> m_wheelEventElement;
RefPtr<Element> m_previousWheelScrolledElement;
RefPtr<ContainerNode> m_scrollableContainer;
Frame* m_frame;
bool m_widgetIsLatched;
bool m_startedGestureAtScrollLimit;
};
}
#endif