blob: 13564ee2acbefd151916479d3fc485f4cbd8f8a8 [file] [log] [blame]
// 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<WheelEvent> create()
{
return adoptRef(new WheelEvent);
}
static PassRefPtr<WheelEvent> create(const WebWheelEvent& event)
{
return adoptRef(new WheelEvent(event));
}
static PassRefPtr<WheelEvent> 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_