2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebCore / dom / WheelEvent.h
blob015796e5ce2240ed8e5ef3694776899a7f6d71ca
1 /*
2 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
24 #ifndef WheelEvent_h
25 #define WheelEvent_h
27 #include "MouseRelatedEvent.h"
29 namespace WebCore {
31 // extension: mouse wheel event
32 class WheelEvent : public MouseRelatedEvent {
33 public:
34 static PassRefPtr<WheelEvent> create()
36 return adoptRef(new WheelEvent);
38 static PassRefPtr<WheelEvent> create(float wheelDeltaX, float wheelDeltaY, PassRefPtr<AbstractView> view,
39 int screenX, int screenY, int pageX, int pageY,
40 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey)
42 return adoptRef(new WheelEvent(wheelDeltaX, wheelDeltaY, view, screenX, screenY, pageX, pageY,
43 ctrlKey, altKey, shiftKey, metaKey));
46 void initWheelEvent(int wheelDeltaX, int wheelDeltaY, PassRefPtr<AbstractView>,
47 int screenX, int screenY, int pageX, int pageY,
48 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
50 int wheelDelta() const { if (m_wheelDeltaY == 0) return m_wheelDeltaX; return m_wheelDeltaY; }
51 int wheelDeltaX() const { return m_wheelDeltaX; }
52 int wheelDeltaY() const { return m_wheelDeltaY; }
54 // Needed for Objective-C legacy support
55 bool isHorizontal() const { return m_wheelDeltaX; }
57 private:
58 WheelEvent();
59 WheelEvent(float wheelDeltaX, float wheelDeltaY, PassRefPtr<AbstractView>,
60 int screenX, int screenY, int pageX, int pageY,
61 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
63 virtual bool isWheelEvent() const;
65 int m_wheelDeltaX;
66 int m_wheelDeltaY;
69 } // namespace WebCore
71 #endif // WheelEvent_h