OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 bool PlatformKeyboardEventBuilder::isCharacterKey() const | 318 bool PlatformKeyboardEventBuilder::isCharacterKey() const |
319 { | 319 { |
320 switch (windowsVirtualKeyCode()) { | 320 switch (windowsVirtualKeyCode()) { |
321 case VKEY_BACK: | 321 case VKEY_BACK: |
322 case VKEY_ESCAPE: | 322 case VKEY_ESCAPE: |
323 return false; | 323 return false; |
324 } | 324 } |
325 return true; | 325 return true; |
326 } | 326 } |
327 | 327 |
| 328 #if ENABLE(TOUCH_EVENTS) |
328 inline PlatformEvent::Type toPlatformTouchEventType(const WebInputEvent::Type ty
pe) | 329 inline PlatformEvent::Type toPlatformTouchEventType(const WebInputEvent::Type ty
pe) |
329 { | 330 { |
330 switch (type) { | 331 switch (type) { |
331 case WebInputEvent::TouchStart: | 332 case WebInputEvent::TouchStart: |
332 return PlatformEvent::TouchStart; | 333 return PlatformEvent::TouchStart; |
333 case WebInputEvent::TouchMove: | 334 case WebInputEvent::TouchMove: |
334 return PlatformEvent::TouchMove; | 335 return PlatformEvent::TouchMove; |
335 case WebInputEvent::TouchEnd: | 336 case WebInputEvent::TouchEnd: |
336 return PlatformEvent::TouchEnd; | 337 return PlatformEvent::TouchEnd; |
337 case WebInputEvent::TouchCancel: | 338 case WebInputEvent::TouchCancel: |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 if (event.modifiers & WebInputEvent::AltKey) | 400 if (event.modifiers & WebInputEvent::AltKey) |
400 m_modifiers |= PlatformEvent::AltKey; | 401 m_modifiers |= PlatformEvent::AltKey; |
401 if (event.modifiers & WebInputEvent::MetaKey) | 402 if (event.modifiers & WebInputEvent::MetaKey) |
402 m_modifiers |= PlatformEvent::MetaKey; | 403 m_modifiers |= PlatformEvent::MetaKey; |
403 | 404 |
404 m_timestamp = event.timeStampSeconds; | 405 m_timestamp = event.timeStampSeconds; |
405 | 406 |
406 for (unsigned i = 0; i < event.touchesLength; ++i) | 407 for (unsigned i = 0; i < event.touchesLength; ++i) |
407 m_touchPoints.append(PlatformTouchPointBuilder(widget, event.touches[i])
); | 408 m_touchPoints.append(PlatformTouchPointBuilder(widget, event.touches[i])
); |
408 } | 409 } |
| 410 #endif |
409 | 411 |
410 static int getWebInputModifiers(const UIEventWithKeyState& event) | 412 static int getWebInputModifiers(const UIEventWithKeyState& event) |
411 { | 413 { |
412 int modifiers = 0; | 414 int modifiers = 0; |
413 if (event.ctrlKey()) | 415 if (event.ctrlKey()) |
414 modifiers |= WebInputEvent::ControlKey; | 416 modifiers |= WebInputEvent::ControlKey; |
415 if (event.shiftKey()) | 417 if (event.shiftKey()) |
416 modifiers |= WebInputEvent::ShiftKey; | 418 modifiers |= WebInputEvent::ShiftKey; |
417 if (event.altKey()) | 419 if (event.altKey()) |
418 modifiers |= WebInputEvent::AltKey; | 420 modifiers |= WebInputEvent::AltKey; |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 return; | 570 return; |
569 nativeKeyCode = event.keyEvent()->nativeVirtualKeyCode(); | 571 nativeKeyCode = event.keyEvent()->nativeVirtualKeyCode(); |
570 unsigned numberOfCharacters = std::min(event.keyEvent()->text().length(), st
atic_cast<unsigned>(textLengthCap)); | 572 unsigned numberOfCharacters = std::min(event.keyEvent()->text().length(), st
atic_cast<unsigned>(textLengthCap)); |
571 for (unsigned i = 0; i < numberOfCharacters; ++i) { | 573 for (unsigned i = 0; i < numberOfCharacters; ++i) { |
572 text[i] = event.keyEvent()->text()[i]; | 574 text[i] = event.keyEvent()->text()[i]; |
573 unmodifiedText[i] = event.keyEvent()->unmodifiedText()[i]; | 575 unmodifiedText[i] = event.keyEvent()->unmodifiedText()[i]; |
574 } | 576 } |
575 memcpy(keyIdentifier, event.keyIdentifier().ascii().data(), event.keyIdentif
ier().length()); | 577 memcpy(keyIdentifier, event.keyIdentifier().ascii().data(), event.keyIdentif
ier().length()); |
576 } | 578 } |
577 | 579 |
| 580 #if ENABLE(TOUCH_EVENTS) |
| 581 |
578 static void addTouchPoints(const Widget* widget, const AtomicString& touchType,
TouchList* touches, WebTouchPoint* touchPoints, unsigned* touchPointsLength, con
st WebCore::RenderObject* renderObject) | 582 static void addTouchPoints(const Widget* widget, const AtomicString& touchType,
TouchList* touches, WebTouchPoint* touchPoints, unsigned* touchPointsLength, con
st WebCore::RenderObject* renderObject) |
579 { | 583 { |
580 unsigned numberOfTouches = std::min(touches->length(), static_cast<unsigned>
(WebTouchEvent::touchesLengthCap)); | 584 unsigned numberOfTouches = std::min(touches->length(), static_cast<unsigned>
(WebTouchEvent::touchesLengthCap)); |
581 for (unsigned i = 0; i < numberOfTouches; ++i) { | 585 for (unsigned i = 0; i < numberOfTouches; ++i) { |
582 const Touch* touch = touches->item(i); | 586 const Touch* touch = touches->item(i); |
583 | 587 |
584 WebTouchPoint point; | 588 WebTouchPoint point; |
585 point.id = touch->identifier(); | 589 point.id = touch->identifier(); |
586 point.screenPosition = WebPoint(touch->screenX(), touch->screenY()); | 590 point.screenPosition = WebPoint(touch->screenX(), touch->screenY()); |
587 point.position = convertAbsoluteLocationForRenderObject(touch->absoluteL
ocation(), *renderObject); | 591 point.position = convertAbsoluteLocationForRenderObject(touch->absoluteL
ocation(), *renderObject); |
(...skipping 25 matching lines...) Expand all Loading... |
613 } | 617 } |
614 | 618 |
615 modifiers = getWebInputModifiers(event); | 619 modifiers = getWebInputModifiers(event); |
616 timeStampSeconds = event.timeStamp() / millisPerSecond; | 620 timeStampSeconds = event.timeStamp() / millisPerSecond; |
617 | 621 |
618 addTouchPoints(widget, event.type(), event.touches(), touches, &touchesLengt
h, renderObject); | 622 addTouchPoints(widget, event.type(), event.touches(), touches, &touchesLengt
h, renderObject); |
619 addTouchPoints(widget, event.type(), event.changedTouches(), changedTouches,
&changedTouchesLength, renderObject); | 623 addTouchPoints(widget, event.type(), event.changedTouches(), changedTouches,
&changedTouchesLength, renderObject); |
620 addTouchPoints(widget, event.type(), event.targetTouches(), targetTouches, &
targetTouchesLength, renderObject); | 624 addTouchPoints(widget, event.type(), event.targetTouches(), targetTouches, &
targetTouchesLength, renderObject); |
621 } | 625 } |
622 | 626 |
| 627 #endif // ENABLE(TOUCH_EVENTS) |
| 628 |
623 WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const WebCo
re::RenderObject* renderObject, const GestureEvent& event) | 629 WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const WebCo
re::RenderObject* renderObject, const GestureEvent& event) |
624 { | 630 { |
625 if (event.type() == eventNames().gesturetapEvent) | 631 if (event.type() == eventNames().gesturetapEvent) |
626 type = GestureTap; | 632 type = GestureTap; |
627 else if (event.type() == eventNames().gesturetapdownEvent) | 633 else if (event.type() == eventNames().gesturetapdownEvent) |
628 type = GestureTapDown; | 634 type = GestureTapDown; |
629 else if (event.type() == eventNames().gesturescrollstartEvent) | 635 else if (event.type() == eventNames().gesturescrollstartEvent) |
630 type = GestureScrollBegin; | 636 type = GestureScrollBegin; |
631 else if (event.type() == eventNames().gesturescrollendEvent) | 637 else if (event.type() == eventNames().gesturescrollendEvent) |
632 type = GestureScrollEnd; | 638 type = GestureScrollEnd; |
633 else if (event.type() == eventNames().gesturescrollupdateEvent) { | 639 else if (event.type() == eventNames().gesturescrollupdateEvent) { |
634 type = GestureScrollUpdate; | 640 type = GestureScrollUpdate; |
635 data.scrollUpdate.deltaX = event.deltaX(); | 641 data.scrollUpdate.deltaX = event.deltaX(); |
636 data.scrollUpdate.deltaY = event.deltaY(); | 642 data.scrollUpdate.deltaY = event.deltaY(); |
637 } | 643 } |
638 | 644 |
639 timeStampSeconds = event.timeStamp() / millisPerSecond; | 645 timeStampSeconds = event.timeStamp() / millisPerSecond; |
640 modifiers = getWebInputModifiers(event); | 646 modifiers = getWebInputModifiers(event); |
641 | 647 |
642 globalX = event.screenX(); | 648 globalX = event.screenX(); |
643 globalY = event.screenY(); | 649 globalY = event.screenY(); |
644 IntPoint localPoint = convertAbsoluteLocationForRenderObject(event.absoluteL
ocation(), *renderObject); | 650 IntPoint localPoint = convertAbsoluteLocationForRenderObject(event.absoluteL
ocation(), *renderObject); |
645 x = localPoint.x(); | 651 x = localPoint.x(); |
646 y = localPoint.y(); | 652 y = localPoint.y(); |
647 } | 653 } |
648 | 654 |
649 } // namespace WebKit | 655 } // namespace WebKit |
OLD | NEW |