[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