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

Side by Side Diff: ui/events/cocoa/events_mac.mm

Issue 456913002: MacViews: Support continuous scrolling and horizontal scrolling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Support magic mouse/trackpad Created 6 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/events/event_utils.h" 5 #include "ui/events/event_utils.h"
6 6
7 #include <Cocoa/Cocoa.h> 7 #include <Cocoa/Cocoa.h>
8 8
9 #import "base/mac/mac_util.h"
10 #import "base/mac/sdk_forward_declarations.h"
9 #include "base/logging.h" 11 #include "base/logging.h"
10 #include "base/time/time.h" 12 #include "base/time/time.h"
11 #include "build/build_config.h" 13 #include "build/build_config.h"
12 #include "ui/events/cocoa/cocoa_event_utils.h" 14 #include "ui/events/cocoa/cocoa_event_utils.h"
13 #include "ui/events/event_utils.h" 15 #include "ui/events/event_utils.h"
14 #import "ui/events/keycodes/keyboard_code_conversion_mac.h" 16 #import "ui/events/keycodes/keyboard_code_conversion_mac.h"
15 #include "ui/gfx/point.h" 17 #include "ui/gfx/point.h"
16 #include "ui/gfx/vector2d.h" 18 #include "ui/gfx/vector2d.h"
17 19
18 namespace ui { 20 namespace ui {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 return EF_RIGHT_MOUSE_BUTTON; 125 return EF_RIGHT_MOUSE_BUTTON;
124 case NSOtherMouseDown: 126 case NSOtherMouseDown:
125 case NSOtherMouseUp: 127 case NSOtherMouseUp:
126 case NSOtherMouseDragged: 128 case NSOtherMouseDragged:
127 return EF_MIDDLE_MOUSE_BUTTON; 129 return EF_MIDDLE_MOUSE_BUTTON;
128 } 130 }
129 return 0; 131 return 0;
130 } 132 }
131 133
132 gfx::Vector2d GetMouseWheelOffset(const base::NativeEvent& event) { 134 gfx::Vector2d GetMouseWheelOffset(const base::NativeEvent& event) {
133 // Empirically, a value of 0.1 is typical for one mousewheel click. Positive 135 if (base::mac::IsOSLionOrLater() && [event hasPreciseScrollingDeltas]) {
134 // values when scrolling up or to the left. Scrolling quickly results in a 136 return gfx::Vector2d([event scrollingDeltaX], [event scrollingDeltaY]);
Andre 2014/08/29 23:31:34 Scrolling feels pretty good on Magic Mouse without
tapted 2014/09/02 09:10:25 nit: It might be worth documenting what the number
Andre 2014/09/02 17:05:05 Done.
135 // higher delta per click, up to about 15.0. (Quartz documentation suggests 137 } else {
136 // +/-10). 138 // Empirically, a value of 0.1 is typical for one mousewheel click. Positive
137 // Multiply by 1000 to vaguely approximate WHEEL_DELTA on Windows (120). 139 // values when scrolling up or to the left. Scrolling quickly results in a
138 const CGFloat kWheelDeltaMultiplier = 1000; 140 // higher delta per click, up to about 15.0. (Quartz documentation suggests
139 return gfx::Vector2d(kWheelDeltaMultiplier * [event deltaX], 141 // +/-10).
140 kWheelDeltaMultiplier * [event deltaY]); 142 // Multiply by 1000 to vaguely approximate WHEEL_DELTA on Windows (120).
143 const CGFloat kWheelDeltaMultiplier = 1000;
144 return gfx::Vector2d(kWheelDeltaMultiplier * [event deltaX],
145 kWheelDeltaMultiplier * [event deltaY]);
146 }
141 } 147 }
142 148
143 base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) { 149 base::NativeEvent CopyNativeEvent(const base::NativeEvent& event) {
144 return [event copy]; 150 return [event copy];
145 } 151 }
146 152
147 void ReleaseCopiedNativeEvent(const base::NativeEvent& event) { 153 void ReleaseCopiedNativeEvent(const base::NativeEvent& event) {
148 [event release]; 154 [event release];
149 } 155 }
150 156
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 uint16 return_value; 259 uint16 return_value;
254 [text getCharacters:&return_value]; 260 [text getCharacters:&return_value];
255 return return_value; 261 return return_value;
256 } 262 }
257 263
258 bool IsCharFromNative(const base::NativeEvent& native_event) { 264 bool IsCharFromNative(const base::NativeEvent& native_event) {
259 return false; 265 return false;
260 } 266 }
261 267
262 } // namespace ui 268 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698