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

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: Fix Non-Mac compile. 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())
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 #endif
69 { 77 {
70 } 78 }
71 79
72 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode, 80 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode,
73 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation, 81 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation,
74 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp, 82 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp,
75 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable) 83 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable)
76 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(), 84 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(),
77 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons, 85 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons,
78 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable, 86 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable,
79 // TODO(zino): Should support canvas hit region because the wheel event 87 // TODO(zino): Should support canvas hit region because the wheel event
80 // is a kind of mouse event. Please see http://crbug.com/594075 88 // is a kind of mouse event. Please see http://crbug.com/594075
81 String()) 89 String())
82 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier) 90 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier)
83 , m_deltaX(-rawDelta.x()) 91 , m_deltaX(-rawDelta.x())
84 , m_deltaY(-rawDelta.y()) 92 , m_deltaY(-rawDelta.y())
85 , m_deltaZ(0) 93 , m_deltaZ(0)
86 , m_deltaMode(deltaMode) 94 , m_deltaMode(deltaMode)
87 , m_resendingPluginId(resendingPluginId) 95 , m_resendingPluginId(resendingPluginId)
88 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas) 96 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas)
89 , m_railsMode(railsMode) 97 , m_railsMode(railsMode)
98 #if OS(MACOSX)
99 , m_phase(WheelEventPhaseNone)
100 , m_momentumPhase(WheelEventPhaseNone)
101 #endif
90 { 102 {
91 } 103 }
92 104
105 #if OS(MACOSX)
106 WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode,
107 AbstractView* view, const IntPoint& screenLocation, const IntPoint& windowLo cation,
108 PlatformEvent::Modifiers modifiers, unsigned short buttons, double platformT imeStamp,
109 int resendingPluginId, bool hasPreciseScrollingDeltas, RailsMode railsMode, bool cancelable,
110 WheelEventPhase phase, WheelEventPhase momentumPhase)
111 : MouseEvent(EventTypeNames::wheel, true, cancelable, view, 0, screenLocatio n.x(), screenLocation.y(),
112 windowLocation.x(), windowLocation.y(), 0, 0, modifiers, 0, buttons,
113 nullptr, platformTimeStamp, PlatformMouseEvent::RealOrIndistinguishable,
114 // TODO(zino): Should support canvas hit region because the wheel event
115 // is a kind of mouse event. Please see http://crbug.com/594075
116 String())
117 , m_wheelDelta(wheelTicks.x() * TickMultiplier, wheelTicks.y() * TickMultipl ier)
118 , m_deltaX(-rawDelta.x())
119 , m_deltaY(-rawDelta.y())
120 , m_deltaZ(0)
121 , m_deltaMode(deltaMode)
122 , m_resendingPluginId(resendingPluginId)
123 , m_hasPreciseScrollingDeltas(hasPreciseScrollingDeltas)
124 , m_railsMode(railsMode)
125 , m_phase(phase)
126 , m_momentumPhase(momentumPhase)
127 {
128 }
129 #endif
130
93 const AtomicString& WheelEvent::interfaceName() const 131 const AtomicString& WheelEvent::interfaceName() const
94 { 132 {
95 return EventNames::WheelEvent; 133 return EventNames::WheelEvent;
96 } 134 }
97 135
98 bool WheelEvent::isMouseEvent() const 136 bool WheelEvent::isMouseEvent() const
99 { 137 {
100 return false; 138 return false;
101 } 139 }
102 140
103 bool WheelEvent::isWheelEvent() const 141 bool WheelEvent::isWheelEvent() const
104 { 142 {
105 return true; 143 return true;
106 } 144 }
107 145
108 EventDispatchMediator* WheelEvent::createMediator() 146 EventDispatchMediator* WheelEvent::createMediator()
109 { 147 {
110 return EventDispatchMediator::create(this); 148 return EventDispatchMediator::create(this);
111 } 149 }
112 150
113 DEFINE_TRACE(WheelEvent) 151 DEFINE_TRACE(WheelEvent)
114 { 152 {
115 MouseEvent::trace(visitor); 153 MouseEvent::trace(visitor);
116 } 154 }
117 155
118 } // namespace blink 156 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/events/WheelEvent.h ('k') | third_party/WebKit/Source/platform/PlatformWheelEvent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698