diff options
author | 2024-11-26 15:50:17 +0000 | |
---|---|---|
committer | 2024-12-03 10:19:15 +0000 | |
commit | a09a94d83e421442f9c02166d3fde67c39a13a8c (patch) | |
tree | 1f57689459ac3b331bf7ce5f908ca419ececa27b /libs/input/PointerController.cpp | |
parent | 7071918753a37966492680ec5682d5c614b67e36 (diff) |
Refactor to replace FloatPoint by vec2
Using FloatPoint requires unnecessory conversion between vec2 and
FloatPoint, which is inefficient.
This CL replaces FloatPoint by vec2 everywhere.
Test: atest inputflinger_tests
Bug: 245989146
Flag: EXEMPT refactor
Change-Id: I0bf9cd35392bff424ec65bbaa43918176d31de37
Diffstat (limited to 'libs/input/PointerController.cpp')
-rw-r--r-- | libs/input/PointerController.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index a713f1d1ed4d..0b81211ee666 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -138,7 +138,7 @@ std::mutex& PointerController::getLock() const { return mDisplayInfoListener->mLock; } -FloatPoint PointerController::move(float deltaX, float deltaY) { +vec2 PointerController::move(float deltaX, float deltaY) { const ui::LogicalDisplayId displayId = mCursorController.getDisplayId(); ui::Transform transform; { @@ -147,10 +147,7 @@ FloatPoint PointerController::move(float deltaX, float deltaY) { } const vec2 transformed = transformWithoutTranslation(transform, {deltaX, deltaY}); - - const FloatPoint unconsumedDelta = mCursorController.move(transformed.x, transformed.y); - return FloatPoint(transformWithoutTranslation(transform.inverse(), - {unconsumedDelta.x, unconsumedDelta.y})); + return transformWithoutTranslation(transform.inverse(), mCursorController.move(transformed)); } void PointerController::setPosition(float x, float y) { @@ -161,16 +158,15 @@ void PointerController::setPosition(float x, float y) { const auto& transform = getTransformForDisplayLocked(displayId); transformed = transform.transform(x, y); } - mCursorController.setPosition(transformed.x, transformed.y); + mCursorController.setPosition(transformed); } -FloatPoint PointerController::getPosition() const { +vec2 PointerController::getPosition() const { const ui::LogicalDisplayId displayId = mCursorController.getDisplayId(); const auto p = mCursorController.getPosition(); { std::scoped_lock lock(getLock()); - const auto& transform = getTransformForDisplayLocked(displayId); - return FloatPoint{transform.inverse().transform(p.x, p.y)}; + return getTransformForDisplayLocked(displayId).inverse().transform(p.x, p.y); } } |