]> git.saurik.com Git - iphone-api.git/blob - WebCore/MouseRelatedEvent.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / MouseRelatedEvent.h
1 /*
2 * This file is part of the DOM implementation for KDE.
3 *
4 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
5 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
6 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
7 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Library General Public License for more details.
18 *
19 * You should have received a copy of the GNU Library General Public License
20 * along with this library; see the file COPYING.LIB. If not, write to
21 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301, USA.
23 *
24 */
25
26 #ifndef MouseRelatedEvent_h
27 #define MouseRelatedEvent_h
28
29 #include "UIEventWithKeyState.h"
30
31 namespace WebCore {
32
33 // Internal only: Helper class for what's common between mouse and wheel events.
34 class MouseRelatedEvent : public UIEventWithKeyState {
35 public:
36 int screenX() const { return m_screenX; }
37 int screenY() const { return m_screenY; }
38 int clientX() const { return m_clientX; }
39 int clientY() const { return m_clientY; }
40 int layerX() const { return m_layerX; }
41 int layerY() const { return m_layerY; }
42 int offsetX() const { return m_offsetX; }
43 int offsetY() const { return m_offsetY; }
44 bool isSimulated() const { return m_isSimulated; }
45 virtual int pageX() const;
46 virtual int pageY() const;
47 int x() const;
48 int y() const;
49
50 protected:
51 MouseRelatedEvent();
52 MouseRelatedEvent(const AtomicString& type, bool canBubble, bool cancelable, PassRefPtr<AbstractView>,
53 int detail, int screenX, int screenY, int pageX, int pageY,
54 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool isSimulated = false);
55
56 void initCoordinates();
57 void initCoordinates(int clientX, int clientY);
58 virtual void receivedTarget();
59
60 // Expose these so MouseEvent::initMouseEvent can set them.
61 int m_screenX;
62 int m_screenY;
63 int m_clientX;
64 int m_clientY;
65
66 private:
67 int m_pageX;
68 int m_pageY;
69 int m_layerX;
70 int m_layerY;
71 int m_offsetX;
72 int m_offsetY;
73 bool m_isSimulated;
74 };
75
76 } // namespace WebCore
77
78 #endif // MouseRelatedEvent_h