// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SKY_ENGINE_CORE_EVENTS_WHEELEVENT_H_ #define SKY_ENGINE_CORE_EVENTS_WHEELEVENT_H_ #include "sky/engine/core/events/Event.h" #include "sky/engine/public/platform/WebInputEvent.h" namespace blink { struct WheelEventInit : public EventInit { double x = 0; double y = 0; double offsetX = 0; double offsetY = 0; }; class WheelEvent : public Event { DEFINE_WRAPPERTYPEINFO(); public: static PassRefPtr create() { return adoptRef(new WheelEvent); } static PassRefPtr create(const WebWheelEvent& event) { return adoptRef(new WheelEvent(event)); } static PassRefPtr create(const AtomicString& type, const WheelEventInit& initializer) { return adoptRef(new WheelEvent(type, initializer)); } ~WheelEvent() override; const AtomicString& interfaceName() const override; double x() const { return m_x; } double y() const { return m_y; } double offsetX() const { return m_offsetX; } double offsetY() const { return m_offsetY; } private: WheelEvent(); explicit WheelEvent(const WebWheelEvent& event); WheelEvent(const AtomicString&, const WheelEventInit&); double m_x; double m_y; double m_offsetX; double m_offsetY; }; } // namespace blink #endif // SKY_ENGINE_CORE_EVENTS_WHEELEVENT_H_