#pragma once
#include "Event.h"
namespace WebCore {
class OverflowEvent final : public Event {
public:
enum orientType {
HORIZONTAL = 0,
VERTICAL = 1,
BOTH = 2
};
static Ref<OverflowEvent> create(bool horizontalOverflowChanged, bool horizontalOverflow, bool verticalOverflowChanged, bool verticalOverflow)
{
return adoptRef(*new OverflowEvent(horizontalOverflowChanged, horizontalOverflow, verticalOverflowChanged, verticalOverflow));
}
static Ref<OverflowEvent> createForBindings()
{
return adoptRef(*new OverflowEvent);
}
struct Init : EventInit {
unsigned short orient { 0 };
bool horizontalOverflow { false };
bool verticalOverflow { false };
};
static Ref<OverflowEvent> create(const AtomicString& type, const Init& initializer, IsTrusted isTrusted = IsTrusted::No)
{
return adoptRef(*new OverflowEvent(type, initializer, isTrusted));
}
WEBCORE_EXPORT void initOverflowEvent(unsigned short orient, bool horizontalOverflow, bool verticalOverflow);
unsigned short orient() const { return m_orient; }
bool horizontalOverflow() const { return m_horizontalOverflow; }
bool verticalOverflow() const { return m_verticalOverflow; }
EventInterface eventInterface() const override;
private:
OverflowEvent();
OverflowEvent(bool horizontalOverflowChanged, bool horizontalOverflow, bool verticalOverflowChanged, bool verticalOverflow);
OverflowEvent(const AtomicString&, const Init&, IsTrusted);
unsigned short m_orient;
bool m_horizontalOverflow;
bool m_verticalOverflow;
};
}