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

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

Issue 2227803003: Plumb phase/momentum for WheelEvent. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 /* 1 /*
2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2005, 2006, 2008, 2010 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2008, 2010 Apple Inc. All rights reserved.
6 * Copyright (C) 2013 Samsung Electronics. All rights reserved. 6 * Copyright (C) 2013 Samsung Electronics. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 24 matching lines...) Expand all
35 } 35 }
36 36
37 WheelEvent* WheelEvent::create(const PlatformWheelEvent& event, AbstractView* vi ew) 37 WheelEvent* WheelEvent::create(const PlatformWheelEvent& event, AbstractView* vi ew)
38 { 38 {
39 return new WheelEvent(FloatPoint(event.wheelTicksX(), event.wheelTicksY()), FloatPoint(event.deltaX(), event.deltaY()), 39 return new WheelEvent(FloatPoint(event.wheelTicksX(), event.wheelTicksY()), FloatPoint(event.deltaX(), event.deltaY()),
40 convertDeltaMode(event), view, event.globalPosition(), event.position(), 40 convertDeltaMode(event), view, event.globalPosition(), event.position(),
41 event.getModifiers(), 41 event.getModifiers(),
42 MouseEvent::platformModifiersToButtons(event.getModifiers()), event.time stamp(), 42 MouseEvent::platformModifiersToButtons(event.getModifiers()), event.time stamp(),
43 event.resendingPluginId(), event.hasPreciseScrollingDeltas(), 43 event.resendingPluginId(), event.hasPreciseScrollingDeltas(),
44 static_cast<Event::RailsMode>(event.getRailsMode()), 44 static_cast<Event::RailsMode>(event.getRailsMode()),
45 event.cancelable()); 45 event.cancelable()
46 #if OS(MACOSX)
47 , static_cast<WheelEventPhase>(event.phase()), static_cast<WheelEventPha se>(event.momentumPhase()), event.canRubberbandLeft(), event.canRubberbandRight( )
48 #endif
49 );
46 } 50 }
47 51
48 WheelEvent::WheelEvent() 52 WheelEvent::WheelEvent()
49 : m_deltaX(0) 53 : m_deltaX(0)
50 , m_deltaY(0) 54 , m_deltaY(0)
51 , m_deltaZ(0) 55 , m_deltaZ(0)
52 , m_deltaMode(kDomDeltaPixel) 56 , m_deltaMode(kDomDeltaPixel)
53 , m_resendingPluginId(-1) 57 , m_resendingPluginId(-1)
54 , m_hasPreciseScrollingDeltas(false) 58 , m_hasPreciseScrollingDeltas(false)
55 , m_railsMode(RailsModeFree) 59 , m_railsMode(RailsModeFree)
56 { 60 {
57 } 61 }
58 62
59 WheelEvent::WheelEvent(const AtomicString& type, const WheelEventInit& initializ er) 63 WheelEvent::WheelEvent(const AtomicString& type, const WheelEventInit& initializ er)
60 : MouseEvent(type, initializer) 64 : MouseEvent(type, initializer)
61 , m_wheelDelta(initializer.wheelDeltaX() ? initializer.wheelDeltaX() : -init ializer.deltaX(), initializer.wheelDeltaY() ? initializer.wheelDeltaY() : -initi alizer.deltaY()) 65 , m_wheelDelta(initializer.wheelDeltaX() ? initializer.wheelDeltaX() : -init ializer.deltaX(), initializer.wheelDeltaY() ? initializer.wheelDeltaY() : -initi alizer.deltaY())
62 , m_deltaX(initializer.deltaX() ? initializer.deltaX() : -initializer.wheelD eltaX()) 66 , m_deltaX(initializer.deltaX() ? initializer.deltaX() : -initializer.wheelD eltaX())
63 , m_deltaY(initializer.deltaY() ? initializer.deltaY() : -initializer.wheelD eltaY()) 67 , m_deltaY(initializer.deltaY() ? initializer.deltaY() : -initializer.wheelD eltaY())
64 , m_deltaZ(initializer.deltaZ()) 68 , m_deltaZ(initializer.deltaZ())
65 , m_deltaMode(initializer.deltaMode()) 69 , m_deltaMode(initializer.deltaMode())
66 , m_resendingPluginId(-1) 70 , m_resendingPluginId(-1)
67 , m_hasPreciseScrollingDeltas(false) 71 , m_hasPreciseScrollingDeltas(false)
68 , m_railsMode(RailsModeFree) 72 , m_railsMode(RailsModeFree)
73 #if OS(MACOSX)
74 , m_phase(WheelEventPhaseNone)
75 , m_momentumPhase(WheelEventPhaseNone)
76 , m_canRubberbandLeft(true)
77 , m_canRubberbandRight(true)
78 #endif
69 { 79 {
70 } 80 }
71 81
72 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode, 82 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode,
73 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation, 83 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation,
74 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp, 84 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp,
75 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable) 85 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable)
76 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(), 86 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(),
77 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons, 87 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons,
78 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable, 88 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable,
79 // TODO(zino): Should support canvas hit region because the wheel event 89 // TODO(zino): Should support canvas hit region because the wheel event
80 // is a kind of mouse event. Please see http://crbug.com/594075 90 // is a kind of mouse event. Please see http://crbug.com/594075
81 String()) 91 String())
82 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier) 92 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier)
83 , m_deltaX(-rawDelta.x()) 93 , m_deltaX(-rawDelta.x())
84 , m_deltaY(-rawDelta.y()) 94 , m_deltaY(-rawDelta.y())
85 , m_deltaZ(0) 95 , m_deltaZ(0)
86 , m_deltaMode(deltaMode) 96 , m_deltaMode(deltaMode)
87 , m_resendingPluginId(resendingPluginId) 97 , m_resendingPluginId(resendingPluginId)
88 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas) 98 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas)
89 , m_railsMode(railsMode) 99 , m_railsMode(railsMode)
100 #if OS(MACOSX)
101 , m_phase(WheelEventPhaseNone)
102 , m_momentumPhase(WheelEventPhaseNone)
103 , m_canRubberbandLeft(true)
104 , m_canRubberbandRight(true)
105 #endif
90 { 106 {
91 } 107 }
92 108
109 #if OS(MACOSX)
110 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode,
111 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation,
112 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp,
113 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable,
114 WheelEventPhase phase, WheelEventPhase momentumPhase, bool canRubberbandLeft , bool canRubberbandRight)
115 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(),
116 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons,
117 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable,
118 // TODO(zino): Should support canvas hit region because the wheel event
119 // is a kind of mouse event. Please see http://crbug.com/594075
120 String())
121 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier)
122 , m_deltaX(-rawDelta.x())
123 , m_deltaY(-rawDelta.y())
124 , m_deltaZ(0)
125 , m_deltaMode(deltaMode)
126 , m_resendingPluginId(resendingPluginId)
127 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas)
128 , m_railsMode(railsMode)
129 , m_phase(phase)
130 , m_momentumPhase(momentumPhase)
131 , m_canRubberbandLeft(canRubberbandLeft)
132 , m_canRubberbandRight(canRubberbandRight)
133 {
134 }
135 #endif
136
93 const AtomicString& WheelEvent::interfaceName() const 137 const AtomicString& WheelEvent::interfaceName() const
94 { 138 {
95 return EventNames::WheelEvent; 139 return EventNames::WheelEvent;
96 } 140 }
97 141
98 bool WheelEvent::isMouseEvent() const 142 bool WheelEvent::isMouseEvent() const
99 { 143 {
100 return false; 144 return false;
101 } 145 }
102 146
103 bool WheelEvent::isWheelEvent() const 147 bool WheelEvent::isWheelEvent() const
104 { 148 {
105 return true; 149 return true;
106 } 150 }
107 151
108 EventDispatchMediator* WheelEvent::createMediator() 152 EventDispatchMediator* WheelEvent::createMediator()
109 { 153 {
110 return EventDispatchMediator::create(this); 154 return EventDispatchMediator::create(this);
111 } 155 }
112 156
113 DEFINE_TRACE(WheelEvent) 157 DEFINE_TRACE(WheelEvent)
114 { 158 {
115 MouseEvent::trace(visitor); 159 MouseEvent::trace(visitor);
116 } 160 }
117 161
118 } // namespace blink 162 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698