OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_constants.h" | 5 #include "ui/events/event_constants.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <string.h> | 8 #include <string.h> |
9 #include <X11/extensions/XInput.h> | 9 #include <X11/extensions/XInput.h> |
10 #include <X11/extensions/XInput2.h> | 10 #include <X11/extensions/XInput2.h> |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 return NULL; | 592 return NULL; |
593 XEvent* copy = new XEvent; | 593 XEvent* copy = new XEvent; |
594 *copy = *event; | 594 *copy = *event; |
595 return copy; | 595 return copy; |
596 } | 596 } |
597 | 597 |
598 void ReleaseCopiedNativeEvent(const base::NativeEvent& event) { | 598 void ReleaseCopiedNativeEvent(const base::NativeEvent& event) { |
599 delete event; | 599 delete event; |
600 } | 600 } |
601 | 601 |
| 602 void IncrementTouchIdRefCount(const base::NativeEvent& xev) { |
| 603 ui::DeviceDataManagerX11* manager = ui::DeviceDataManagerX11::GetInstance(); |
| 604 double tracking_id; |
| 605 if (!manager->GetEventData( |
| 606 *xev, ui::DeviceDataManagerX11::DT_TOUCH_TRACKING_ID, &tracking_id)) { |
| 607 return; |
| 608 } |
| 609 |
| 610 ui::TouchFactory* factory = ui::TouchFactory::GetInstance(); |
| 611 factory->AcquireSlotForTrackingID(tracking_id); |
| 612 } |
| 613 |
602 void ClearTouchIdIfReleased(const base::NativeEvent& xev) { | 614 void ClearTouchIdIfReleased(const base::NativeEvent& xev) { |
603 ui::EventType type = ui::EventTypeFromNative(xev); | 615 ui::EventType type = ui::EventTypeFromNative(xev); |
604 if (type == ui::ET_TOUCH_CANCELLED || | 616 if (type == ui::ET_TOUCH_CANCELLED || |
605 type == ui::ET_TOUCH_RELEASED) { | 617 type == ui::ET_TOUCH_RELEASED) { |
606 ui::TouchFactory* factory = ui::TouchFactory::GetInstance(); | 618 ui::TouchFactory* factory = ui::TouchFactory::GetInstance(); |
607 ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance(); | 619 ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance(); |
608 double tracking_id; | 620 double tracking_id; |
609 if (manager->GetEventData( | 621 if (manager->GetEventData( |
610 *xev, ui::DeviceDataManager::DT_TOUCH_TRACKING_ID, &tracking_id)) { | 622 *xev, ui::DeviceDataManager::DT_TOUCH_TRACKING_ID, &tracking_id)) { |
611 factory->ReleaseSlotForTrackingID(tracking_id); | 623 factory->ReleaseSlotForTrackingID(tracking_id); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
730 DeviceDataManager::GetInstance()->GetGestureTimes( | 742 DeviceDataManager::GetInstance()->GetGestureTimes( |
731 native_event, start_time, end_time); | 743 native_event, start_time, end_time); |
732 return true; | 744 return true; |
733 } | 745 } |
734 | 746 |
735 bool IsTouchpadEvent(const base::NativeEvent& event) { | 747 bool IsTouchpadEvent(const base::NativeEvent& event) { |
736 return DeviceDataManager::GetInstance()->IsTouchpadXInputEvent(event); | 748 return DeviceDataManager::GetInstance()->IsTouchpadXInputEvent(event); |
737 } | 749 } |
738 | 750 |
739 } // namespace ui | 751 } // namespace ui |
OLD | NEW |