Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: third_party/WebKit/Source/core/events/PointerEventManager.cpp

Issue 1617863002: Set the correct pressure for pointer events based on force (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Win/OSX compile error Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/events/PointerEventManager.h" 5 #include "core/events/PointerEventManager.h"
6 6
7 namespace blink { 7 namespace blink {
8 8
9 namespace { 9 namespace {
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 58
59 setIdAndType(pointerEventInit, mouseEvent.pointerProperties()); 59 setIdAndType(pointerEventInit, mouseEvent.pointerProperties());
60 60
61 pointerEventInit.setScreenX(mouseEvent.globalPosition().x()); 61 pointerEventInit.setScreenX(mouseEvent.globalPosition().x());
62 pointerEventInit.setScreenY(mouseEvent.globalPosition().y()); 62 pointerEventInit.setScreenY(mouseEvent.globalPosition().y());
63 pointerEventInit.setClientX(mouseEvent.position().x()); 63 pointerEventInit.setClientX(mouseEvent.position().x());
64 pointerEventInit.setClientY(mouseEvent.position().y()); 64 pointerEventInit.setClientY(mouseEvent.position().y());
65 65
66 pointerEventInit.setButton(mouseEvent.button()); 66 pointerEventInit.setButton(mouseEvent.button());
67 pointerEventInit.setButtons(MouseEvent::platformModifiersToButtons(mouseEven t.modifiers())); 67 pointerEventInit.setButtons(MouseEvent::platformModifiersToButtons(mouseEven t.modifiers()));
68 pointerEventInit.setPressure(isnan(mouseEvent.pointerProperties().force)
69 ? (pointerEventInit.buttons() ? 0.5 : 0)
70 : mouseEvent.pointerProperties().force);
68 71
69 UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, mouseEvent.m odifiers()); 72 UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, mouseEvent.m odifiers());
70 73
71 pointerEventInit.setBubbles(type != EventTypeNames::pointerenter 74 pointerEventInit.setBubbles(type != EventTypeNames::pointerenter
72 && type != EventTypeNames::pointerleave); 75 && type != EventTypeNames::pointerleave);
73 pointerEventInit.setCancelable(type != EventTypeNames::pointerenter 76 pointerEventInit.setCancelable(type != EventTypeNames::pointerenter
74 && type != EventTypeNames::pointerleave && type != EventTypeNames::point ercancel); 77 && type != EventTypeNames::pointerleave && type != EventTypeNames::point ercancel);
75 78
76 pointerEventInit.setView(view); 79 pointerEventInit.setView(view);
77 if (relatedTarget) 80 if (relatedTarget)
(...skipping 13 matching lines...) Expand all
91 || pointState == PlatformTouchPoint::TouchCancelled; 94 || pointState == PlatformTouchPoint::TouchCancelled;
92 95
93 bool isEnterOrLeave = false; 96 bool isEnterOrLeave = false;
94 97
95 PointerEventInit pointerEventInit; 98 PointerEventInit pointerEventInit;
96 99
97 setIdAndType(pointerEventInit, touchPoint.pointerProperties()); 100 setIdAndType(pointerEventInit, touchPoint.pointerProperties());
98 101
99 pointerEventInit.setWidth(width); 102 pointerEventInit.setWidth(width);
100 pointerEventInit.setHeight(height); 103 pointerEventInit.setHeight(height);
101 pointerEventInit.setPressure(touchPoint.force());
102 pointerEventInit.setTiltX(touchPoint.pointerProperties().tiltX); 104 pointerEventInit.setTiltX(touchPoint.pointerProperties().tiltX);
103 pointerEventInit.setTiltY(touchPoint.pointerProperties().tiltY); 105 pointerEventInit.setTiltY(touchPoint.pointerProperties().tiltY);
104 pointerEventInit.setScreenX(touchPoint.screenPos().x()); 106 pointerEventInit.setScreenX(touchPoint.screenPos().x());
105 pointerEventInit.setScreenY(touchPoint.screenPos().y()); 107 pointerEventInit.setScreenY(touchPoint.screenPos().y());
106 pointerEventInit.setClientX(clientX); 108 pointerEventInit.setClientX(clientX);
107 pointerEventInit.setClientY(clientY); 109 pointerEventInit.setClientY(clientY);
108 pointerEventInit.setButton(0); 110 pointerEventInit.setButton(0);
109 pointerEventInit.setButtons(pointerReleasedOrCancelled ? 0 : 1); 111 pointerEventInit.setButtons(pointerReleasedOrCancelled ? 0 : 1);
112 pointerEventInit.setPressure(isnan(touchPoint.force())
mustaq 2016/01/25 16:34:29 Please create a helper function to avoid repeats.
Navid Zolghadr 2016/01/25 20:26:50 Done.
113 ? (pointerEventInit.buttons() ? 0.5 : 0)
114 : touchPoint.force());
110 115
111 UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, modifiers); 116 UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, modifiers);
112 117
113 pointerEventInit.setBubbles(!isEnterOrLeave); 118 pointerEventInit.setBubbles(!isEnterOrLeave);
114 pointerEventInit.setCancelable(!isEnterOrLeave && pointState != PlatformTouc hPoint::TouchCancelled); 119 pointerEventInit.setCancelable(!isEnterOrLeave && pointState != PlatformTouc hPoint::TouchCancelled);
115 120
116 return PointerEvent::create(type, pointerEventInit); 121 return PointerEvent::create(type, pointerEventInit);
117 } 122 }
118 123
119 124
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 if (!m_idReverseMapping.contains(mappedId)) 201 if (!m_idReverseMapping.contains(mappedId))
197 return false; 202 return false;
198 203
199 IncomingId p = m_idReverseMapping.get(mappedId); 204 IncomingId p = m_idReverseMapping.get(mappedId);
200 int type = p.first; 205 int type = p.first;
201 return m_primaryId[type] == mappedId; 206 return m_primaryId[type] == mappedId;
202 } 207 }
203 208
204 209
205 } // namespace blink 210 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698