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

Side by Side Diff: third_party/WebKit/Source/platform/PlatformWheelEvent.h

Issue 2586133003: Remove PlatformWheelEvent and use WebMouseWheelEvent instead (Closed)
Patch Set: Address comments Created 3 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
(Empty)
1 /*
2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26 #ifndef PlatformWheelEvent_h
27 #define PlatformWheelEvent_h
28
29 #include "platform/PlatformEvent.h"
30 #include "platform/PlatformMouseEvent.h"
31 #include "platform/geometry/IntPoint.h"
32
33 namespace blink {
34
35 enum PlatformWheelEventGranularity {
36 // Indicates that the wheel event should scroll an entire page. In this case
37 // WebCore's built in paging behavior is used to page up and down (you get the
38 // same behavior as if the user was clicking in a scrollbar track to page up
39 // or page down).
40 ScrollByPageWheelEvent,
41 // A fine-grained event that specifies the precise number of pixels to scroll.
42 // It is sent directly by MacBook touchpads on OS X, and synthesized in other
43 // cases where platforms generate line-by-line scrolling events.
44 ScrollByPixelWheelEvent,
45 };
46
47 #if OS(MACOSX)
48 enum PlatformWheelEventPhase {
49 PlatformWheelEventPhaseNone = 0,
50 PlatformWheelEventPhaseBegan = 1 << 0,
51 PlatformWheelEventPhaseStationary = 1 << 1,
52 PlatformWheelEventPhaseChanged = 1 << 2,
53 PlatformWheelEventPhaseEnded = 1 << 3,
54 PlatformWheelEventPhaseCancelled = 1 << 4,
55 PlatformWheelEventPhaseMayBegin = 1 << 5,
56 };
57 #endif
58
59 class PlatformWheelEvent : public PlatformMouseEvent {
60 public:
61 PlatformWheelEvent()
62 : PlatformMouseEvent(PlatformEvent::Wheel),
63 m_deltaX(0),
64 m_deltaY(0),
65 m_wheelTicksX(0),
66 m_wheelTicksY(0),
67 m_granularity(ScrollByPixelWheelEvent),
68 m_hasPreciseScrollingDeltas(false),
69 m_resendingPluginId(-1),
70 m_railsMode(RailsModeFree),
71 m_dispatchType(Blocking)
72 #if OS(MACOSX)
73 ,
74 m_phase(PlatformWheelEventPhaseNone),
75 m_momentumPhase(PlatformWheelEventPhaseNone)
76 #endif
77 {
78 }
79
80 float deltaX() const { return m_deltaX; }
81 float deltaY() const { return m_deltaY; }
82
83 float wheelTicksX() const { return m_wheelTicksX; }
84 float wheelTicksY() const { return m_wheelTicksY; }
85
86 PlatformWheelEventGranularity granularity() const { return m_granularity; }
87
88 bool hasPreciseScrollingDeltas() const { return m_hasPreciseScrollingDeltas; }
89 void setHasPreciseScrollingDeltas(bool b) { m_hasPreciseScrollingDeltas = b; }
90 int resendingPluginId() const { return m_resendingPluginId; }
91 RailsMode getRailsMode() const { return m_railsMode; }
92 DispatchType dispatchType() const { return m_dispatchType; }
93 bool cancelable() const { return m_dispatchType == PlatformEvent::Blocking; }
94 #if OS(MACOSX)
95 PlatformWheelEventPhase phase() const { return m_phase; }
96 PlatformWheelEventPhase momentumPhase() const { return m_momentumPhase; }
97 #endif
98
99 protected:
100 float m_deltaX;
101 float m_deltaY;
102 float m_wheelTicksX;
103 float m_wheelTicksY;
104 PlatformWheelEventGranularity m_granularity;
105 bool m_hasPreciseScrollingDeltas;
106 int m_resendingPluginId;
107 RailsMode m_railsMode;
108 DispatchType m_dispatchType;
109 #if OS(MACOSX)
110 PlatformWheelEventPhase m_phase;
111 PlatformWheelEventPhase m_momentumPhase;
112 #endif
113 };
114
115 } // namespace blink
116
117 #endif // PlatformWheelEvent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698