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