Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 /* | 5 /* |
| 6 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved. |
| 7 * Copyright (C) 2006-2009 Google Inc. | 7 * Copyright (C) 2006-2009 Google Inc. |
| 8 * | 8 * |
| 9 * Redistribution and use in source and binary forms, with or without | 9 * Redistribution and use in source and binary forms, with or without |
| 10 * modification, are permitted provided that the following conditions | 10 * modification, are permitted provided that the following conditions |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 314 default: | 314 default: |
| 315 NOTIMPLEMENTED(); | 315 NOTIMPLEMENTED(); |
| 316 } | 316 } |
| 317 | 317 |
| 318 blink::WebMouseEvent result(event_type, ModifiersFromEvent(event), | 318 blink::WebMouseEvent result(event_type, ModifiersFromEvent(event), |
| 319 [event timestamp]); | 319 [event timestamp]); |
| 320 result.clickCount = click_count; | 320 result.clickCount = click_count; |
| 321 result.button = button; | 321 result.button = button; |
| 322 SetWebEventLocationFromEventInView(&result, event, view); | 322 SetWebEventLocationFromEventInView(&result, event, view); |
| 323 | 323 |
| 324 result.pointerType = pointerType; | |
| 324 // For NSMouseExited and NSMouseEntered events, they do not have a subtype. | 325 // For NSMouseExited and NSMouseEntered events, they do not have a subtype. |
|
mustaq
2017/03/13 14:41:38
This comment and the comment in the next block no
| |
| 325 // We decide their pointer types by checking if we recevied a | 326 // We decide their pointer types by checking if we recevied a |
| 326 // NSTabletProximity event. | 327 // NSTabletProximity event. |
| 327 if (type == NSMouseExited || type == NSMouseEntered) { | 328 if (type == NSMouseExited || type == NSMouseEntered) { |
| 328 result.pointerType = pointerType; | |
| 329 return result; | 329 return result; |
| 330 } | 330 } |
| 331 | 331 |
| 332 // For other mouse events and touchpad events, the pointer type is mouse. | 332 // For other mouse events and touchpad events, the pointer type is mouse. |
| 333 // For all other tablet events, the pointer type will be just pen. | 333 // For all other tablet events, the pointer type will be just pen. |
| 334 NSEventSubtype subtype = [event subtype]; | 334 NSEventSubtype subtype = [event subtype]; |
| 335 if (subtype != NSTabletPointEventSubtype && | 335 if (subtype != NSTabletPointEventSubtype && |
| 336 subtype != NSTabletProximityEventSubtype) { | 336 subtype != NSTabletProximityEventSubtype) { |
| 337 result.pointerType = blink::WebPointerProperties::PointerType::Mouse; | |
| 338 return result; | 337 return result; |
| 339 } | 338 } |
| 340 | 339 |
| 341 // Set stylus properties for events with a subtype of | 340 // Set stylus properties for events with a subtype of |
| 342 // NSTabletPointEventSubtype. | 341 // NSTabletPointEventSubtype. |
| 343 result.pointerType = blink::WebPointerProperties::PointerType::Pen; | |
| 344 result.id = [event deviceID]; | 342 result.id = [event deviceID]; |
| 345 if (subtype == NSTabletPointEventSubtype) { | 343 if (subtype == NSTabletPointEventSubtype) { |
| 346 result.force = [event pressure]; | 344 result.force = [event pressure]; |
| 347 NSPoint tilt = [event tilt]; | 345 NSPoint tilt = [event tilt]; |
| 348 result.tiltX = lround(tilt.x * 90); | 346 result.tiltX = lround(tilt.x * 90); |
| 349 result.tiltY = lround(tilt.y * 90); | 347 result.tiltY = lround(tilt.y * 90); |
| 350 result.tangentialPressure = [event tangentialPressure]; | 348 result.tangentialPressure = [event tangentialPressure]; |
| 351 // NSEvent spec doesn't specify the range of rotation, we make sure that | 349 // NSEvent spec doesn't specify the range of rotation, we make sure that |
| 352 // this value is in the range of [0,359]. | 350 // this value is in the range of [0,359]. |
| 353 int twist = (int)[event rotation]; | 351 int twist = (int)[event rotation]; |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 549 // to specify them when the gesture is differentiated. | 547 // to specify them when the gesture is differentiated. |
| 550 break; | 548 break; |
| 551 default: | 549 default: |
| 552 NOTIMPLEMENTED(); | 550 NOTIMPLEMENTED(); |
| 553 } | 551 } |
| 554 | 552 |
| 555 return result; | 553 return result; |
| 556 } | 554 } |
| 557 | 555 |
| 558 } // namespace content | 556 } // namespace content |
| OLD | NEW |