[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756
eric at webkit.org
eric at webkit.org
Fri Feb 26 22:16:33 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 59f13eaedd7404f872833052685a2b57f4cd865d
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Feb 10 03:45:20 2010 +0000
2010-02-09 Kwang Yul Seo <skyul at company100.net>
Reviewed by Adam Barth.
[BREWMP] Port PlatformMouseEvent
https://bugs.webkit.org/show_bug.cgi?id=34600
Retrieve the event type, position, key modifiers, time stamp
and click count from AEEEvent.
* platform/PlatformMouseEvent.h:
* platform/brew/PlatformMouseEventBrew.cpp: Added.
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 9637902..24c6a40 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-02-09 Kwang Yul Seo <skyul at company100.net>
+
+ Reviewed by Adam Barth.
+
+ [BREWMP] Port PlatformMouseEvent
+ https://bugs.webkit.org/show_bug.cgi?id=34600
+
+ Retrieve the event type, position, key modifiers, time stamp
+ and click count from AEEEvent.
+
+ * platform/PlatformMouseEvent.h:
+ * platform/brew/PlatformMouseEventBrew.cpp: Added.
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+
2010-02-09 Avi Drissman <avi at chromium.org>
Reviewed by Timothy Hatcher.
diff --git a/WebCore/platform/PlatformMouseEvent.h b/WebCore/platform/PlatformMouseEvent.h
index 436a902..d8f6318 100644
--- a/WebCore/platform/PlatformMouseEvent.h
+++ b/WebCore/platform/PlatformMouseEvent.h
@@ -55,6 +55,12 @@ class wxMouseEvent;
class BMessage;
#endif
+#if PLATFORM(BREWMP)
+typedef unsigned short uint16;
+typedef unsigned long int uint32;
+#define AEEEvent uint16
+#endif
+
namespace WebCore {
// These button numbers match the ones used in the DOM API, 0 through 2, except for NoButton which isn't specified.
@@ -143,6 +149,10 @@ namespace WebCore {
PlatformMouseEvent(const BMessage*);
#endif
+#if PLATFORM(BREWMP)
+ PlatformMouseEvent(AEEEvent, uint16 wParam, uint32 dwParam);
+#endif
+
protected:
IntPoint m_position;
IntPoint m_globalPosition;
diff --git a/WebCore/platform/brew/PlatformMouseEventBrew.cpp b/WebCore/platform/brew/PlatformMouseEventBrew.cpp
new file mode 100644
index 0000000..32593e6
--- /dev/null
+++ b/WebCore/platform/brew/PlatformMouseEventBrew.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2009 Company 100, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PlatformMouseEvent.h"
+
+#include <AEEEvent.h>
+#include <AEEPointerHelpers.h>
+#include <AEEStdDef.h>
+#include <AEEVCodes.h>
+
+namespace WebCore {
+
+PlatformMouseEvent::PlatformMouseEvent(AEEEvent event, uint16 wParam, uint32 dwParam)
+{
+ switch (event) {
+ case EVT_POINTER_DOWN:
+ m_eventType = MouseEventPressed;
+ break;
+ case EVT_POINTER_UP:
+ m_eventType = MouseEventReleased;
+ break;
+ case EVT_POINTER_MOVE:
+ case EVT_POINTER_STALE_MOVE:
+ m_eventType = MouseEventMoved;
+ break;
+ default:
+ m_eventType = MouseEventMoved;
+ break;
+ };
+
+ char* dwParamStr = reinterpret_cast<char*>(dwParam);
+
+ int x, y;
+ AEE_POINTER_GET_XY(dwParamStr, &x, &y);
+ m_position = IntPoint(x, y);
+ // Use IDisplay, so position and global position are the same.
+ m_globalPosition = m_position;
+
+ uint32 keyModifiers = AEE_POINTER_GET_KEY_MODIFIERS(dwParamStr);
+ m_shiftKey = keyModifiers & (KB_LSHIFT | KB_RSHIFT);
+ m_ctrlKey = keyModifiers & (KB_LCTRL | KB_RCTRL);
+ m_altKey = keyModifiers & (KB_LALT | KB_RALT);
+ m_metaKey = m_altKey;
+
+ uint16 mouseModifiers = AEE_POINTER_GET_MOUSE_MODIFIERS(dwParamStr);
+ if (mouseModifiers & AEE_POINTER_MOUSE_LBUTTON)
+ m_button = LeftButton;
+ else if (mouseModifiers & AEE_POINTER_MOUSE_RBUTTON)
+ m_button = RightButton;
+ else if (mouseModifiers & AEE_POINTER_MOUSE_MBUTTON)
+ m_button = MiddleButton;
+ else
+ m_button = NoButton;
+
+ // AEE_POINTER_GET_TIME returns milliseconds
+ m_timestamp = AEE_POINTER_GET_TIME(dwParamStr) * 0.001;
+
+ m_clickCount = AEE_POINTER_GET_CLICKCOUNT(dwParamStr);
+}
+
+} // namespace WebCore
+
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list