// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ui/events/gesture_detection/motion_event.h" #include "base/logging.h" namespace ui { size_t MotionEvent::GetHistorySize() const { return 0; } base::TimeTicks MotionEvent::GetHistoricalEventTime( size_t historical_index) const { NOTIMPLEMENTED(); return base::TimeTicks(); } float MotionEvent::GetHistoricalTouchMajor(size_t pointer_index, size_t historical_index) const { NOTIMPLEMENTED(); return 0.f; } float MotionEvent::GetHistoricalX(size_t pointer_index, size_t historical_index) const { NOTIMPLEMENTED(); return 0.f; } float MotionEvent::GetHistoricalY(size_t pointer_index, size_t historical_index) const { NOTIMPLEMENTED(); return 0.f; } int MotionEvent::FindPointerIndexOfId(int id) const { const size_t pointer_count = GetPointerCount(); for (size_t i = 0; i < pointer_count; ++i) { if (GetPointerId(i) == id) return static_cast(i); } return -1; } bool operator==(const MotionEvent& lhs, const MotionEvent& rhs) { if (lhs.GetId() != rhs.GetId() || lhs.GetAction() != rhs.GetAction() || lhs.GetActionIndex() != rhs.GetActionIndex() || lhs.GetPointerCount() != rhs.GetPointerCount() || lhs.GetButtonState() != rhs.GetButtonState() || lhs.GetEventTime() != rhs.GetEventTime() || lhs.GetHistorySize() != rhs.GetHistorySize()) return false; for (size_t i = 0; i < lhs.GetPointerCount(); ++i) { int rhsi = rhs.FindPointerIndexOfId(lhs.GetPointerId(i)); if (rhsi == -1) return false; if (lhs.GetX(i) != rhs.GetX(rhsi) || lhs.GetY(i) != rhs.GetY(rhsi) || lhs.GetRawX(i) != rhs.GetRawX(rhsi) || lhs.GetRawY(i) != rhs.GetRawY(rhsi) || lhs.GetTouchMajor(i) != rhs.GetTouchMajor(rhsi) || lhs.GetTouchMinor(i) != rhs.GetTouchMinor(rhsi) || lhs.GetOrientation(i) != rhs.GetOrientation(rhsi) || lhs.GetPressure(i) != rhs.GetPressure(rhsi) || lhs.GetToolType(i) != rhs.GetToolType(rhsi)) return false; for (size_t h = 0; h < lhs.GetHistorySize(); ++h) { if (lhs.GetHistoricalX(i, h) != rhs.GetHistoricalX(rhsi, h) || lhs.GetHistoricalY(i, h) != rhs.GetHistoricalY(rhsi, h) || lhs.GetHistoricalTouchMajor(i, h) != rhs.GetHistoricalTouchMajor(rhsi, h)) return false; } } for (size_t h = 0; h < lhs.GetHistorySize(); ++h) { if (lhs.GetHistoricalEventTime(h) != rhs.GetHistoricalEventTime(h)) return false; } return true; } bool operator!=(const MotionEvent& lhs, const MotionEvent& rhs) { return !(lhs == rhs); } } // namespace ui