18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 25f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef PlatformMouseEvent_h 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define PlatformMouseEvent_h 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "IntPoint.h" 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(GTK) 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _GdkEventButton GdkEventButton; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef struct _GdkEventMotion GdkEventMotion; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 36dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if PLATFORM(EFL) 3706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsentypedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down; 3806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsentypedef struct _Evas_Event_Mouse_Up Evas_Event_Mouse_Up; 3906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsentypedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; 40dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 41dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(QT) 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectQT_BEGIN_NAMESPACE 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass QInputEvent; 45231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockclass QGraphicsSceneMouseEvent; 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectQT_END_NAMESPACE 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 495f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if PLATFORM(WIN) 505f1ab04193ad0130ca8204aadaceae083aca9881Feng Qiantypedef struct HWND__* HWND; 515f1ab04193ad0130ca8204aadaceae083aca9881Feng Qiantypedef unsigned UINT; 525f1ab04193ad0130ca8204aadaceae083aca9881Feng Qiantypedef unsigned WPARAM; 535f1ab04193ad0130ca8204aadaceae083aca9881Feng Qiantypedef long LPARAM; 545f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#endif 555f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(WX) 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass wxMouseEvent; 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 60231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if PLATFORM(HAIKU) 61231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockclass BMessage; 62231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif 63231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 648a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block#if PLATFORM(BREWMP) 658a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Blocktypedef unsigned short uint16; 668a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Blocktypedef unsigned long int uint32; 678a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block#define AEEEvent uint16 688a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block#endif 698a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // These button numbers match the ones used in the DOM API, 0 through 2, except for NoButton which isn't specified. 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum MouseButton { NoButton = -1, LeftButton, MiddleButton, RightButton }; 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enum MouseEventType { MouseEventMoved, MouseEventPressed, MouseEventReleased, MouseEventScroll }; 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project class PlatformMouseEvent { 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project public: 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PlatformMouseEvent() 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project : m_button(NoButton) 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_eventType(MouseEventMoved) 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_clickCount(0) 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_shiftKey(false) 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_ctrlKey(false) 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_altKey(false) 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_metaKey(false) 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_timestamp(0) 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_modifierFlags(0) 88cad810f21b803229eb11403f9209855525a25d57Steve Block#if PLATFORM(MAC) 89cad810f21b803229eb11403f9209855525a25d57Steve Block , m_eventNumber(0) 90cad810f21b803229eb11403f9209855525a25d57Steve Block#elif PLATFORM(WIN) 91cad810f21b803229eb11403f9209855525a25d57Steve Block , m_didActivateWebView(false) 92cad810f21b803229eb11403f9209855525a25d57Steve Block#endif 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 965f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian PlatformMouseEvent(const IntPoint& position, const IntPoint& globalPosition, MouseButton button, MouseEventType eventType, 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int clickCount, bool shift, bool ctrl, bool alt, bool meta, double timestamp) 985f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian : m_position(position) 995f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian , m_globalPosition(globalPosition) 1005f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian , m_button(button) 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_eventType(eventType) 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_clickCount(clickCount) 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_shiftKey(shift) 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_ctrlKey(ctrl) 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_altKey(alt) 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_metaKey(meta) 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_timestamp(timestamp) 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project , m_modifierFlags(0) 109cad810f21b803229eb11403f9209855525a25d57Steve Block#if PLATFORM(MAC) 110cad810f21b803229eb11403f9209855525a25d57Steve Block , m_eventNumber(0) 111cad810f21b803229eb11403f9209855525a25d57Steve Block#elif PLATFORM(WIN) 112cad810f21b803229eb11403f9209855525a25d57Steve Block , m_didActivateWebView(false) 113cad810f21b803229eb11403f9209855525a25d57Steve Block#endif 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntPoint& pos() const { return m_position; } 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int x() const { return m_position.x(); } 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int y() const { return m_position.y(); } 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int globalX() const { return m_globalPosition.x(); } 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int globalY() const { return m_globalPosition.y(); } 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MouseButton button() const { return m_button; } 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MouseEventType eventType() const { return m_eventType; } 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int clickCount() const { return m_clickCount; } 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool shiftKey() const { return m_shiftKey; } 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool ctrlKey() const { return m_ctrlKey; } 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool altKey() const { return m_altKey; } 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool metaKey() const { return m_metaKey; } 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project unsigned modifierFlags() const { return m_modifierFlags; } 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1315f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian // Time in seconds. 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project double timestamp() const { return m_timestamp; } 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(GTK) 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PlatformMouseEvent(GdkEventButton*); 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PlatformMouseEvent(GdkEventMotion*); 137545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch void setClickCount(int count) { m_clickCount = count; } 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1395f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian 140dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if PLATFORM(EFL) 14106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen void setClickCount(unsigned int); 142dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block PlatformMouseEvent(const Evas_Event_Mouse_Down*, IntPoint); 143dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block PlatformMouseEvent(const Evas_Event_Mouse_Up*, IntPoint); 144dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block PlatformMouseEvent(const Evas_Event_Mouse_Move*, IntPoint); 145dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 146dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 147d0825bca7fe65beaee391d30da42e937db621564Steve Block#if PLATFORM(MAC) 148d0825bca7fe65beaee391d30da42e937db621564Steve Block#if defined(__OBJC__) 1495f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian PlatformMouseEvent(NSEvent *, NSView *windowView); 150d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif 151d0825bca7fe65beaee391d30da42e937db621564Steve Block PlatformMouseEvent(int x, int y, int globalX, int globalY, MouseButton button, MouseEventType eventType, 152d0825bca7fe65beaee391d30da42e937db621564Steve Block int clickCount, bool shiftKey, bool ctrlKey, bool altKey, bool metaKey, double timestamp, 153d0825bca7fe65beaee391d30da42e937db621564Steve Block unsigned modifierFlags, int eventNumber); 1545f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian int eventNumber() const { return m_eventNumber; } 1555f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#endif 1565f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(QT) 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project PlatformMouseEvent(QInputEvent*, int clickCount); 159231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount); 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1615f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian 1625f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if PLATFORM(WIN) 163cad810f21b803229eb11403f9209855525a25d57Steve Block PlatformMouseEvent(HWND, UINT, WPARAM, LPARAM, bool didActivateWebView = false); 1645f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian void setClickCount(int count) { m_clickCount = count; } 165cad810f21b803229eb11403f9209855525a25d57Steve Block bool didActivateWebView() const { return m_didActivateWebView; } 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1685f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if PLATFORM(WX) 1695f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian PlatformMouseEvent(const wxMouseEvent&, const wxPoint& globalPoint, int clickCount); 1705f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#endif 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 172231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if PLATFORM(HAIKU) 173231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block PlatformMouseEvent(const BMessage*); 174231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif 175231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 1768a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block#if PLATFORM(BREWMP) 1778a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block PlatformMouseEvent(AEEEvent, uint16 wParam, uint32 dwParam); 1788a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block#endif 1798a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project protected: 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project IntPoint m_position; 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project IntPoint m_globalPosition; 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MouseButton m_button; 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project MouseEventType m_eventType; 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int m_clickCount; 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_shiftKey; 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_ctrlKey; 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_altKey; 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_metaKey; 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project double m_timestamp; // unit: seconds 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project unsigned m_modifierFlags; 1925f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if PLATFORM(MAC) 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project int m_eventNumber; 195cad810f21b803229eb11403f9209855525a25d57Steve Block#elif PLATFORM(WIN) 196cad810f21b803229eb11403f9209855525a25d57Steve Block bool m_didActivateWebView; 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }; 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2005f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if PLATFORM(MAC) && defined(__OBJC__) 2015f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian IntPoint globalPoint(const NSPoint& windowPoint, NSWindow *); 2025f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian IntPoint pointForEvent(NSEvent *, NSView *windowView); 2035f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian IntPoint globalPointForEvent(NSEvent *); 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // PlatformMouseEvent_h 209