diff options
| -rw-r--r-- | include/input/Input.h | 2 | ||||
| -rw-r--r-- | libs/input/Input.cpp | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/include/input/Input.h b/include/input/Input.h index 07a566a63c..015efdd064 100644 --- a/include/input/Input.h +++ b/include/input/Input.h @@ -577,7 +577,7 @@ public: inline const ui::Transform& getTransform() const { return mTransform; } - int32_t getSurfaceRotation() const; + std::optional<ui::Rotation> getSurfaceRotation() const; inline float getXPrecision() const { return mXPrecision; } diff --git a/libs/input/Input.cpp b/libs/input/Input.cpp index 162b757743..9e8ebf30c5 100644 --- a/libs/input/Input.cpp +++ b/libs/input/Input.cpp @@ -21,6 +21,7 @@ #include <cutils/compiler.h> #include <inttypes.h> #include <string.h> +#include <optional> #include <android-base/file.h> #include <android-base/logging.h> @@ -552,21 +553,21 @@ void MotionEvent::addSample( &pointerCoords[getPointerCount()]); } -int32_t MotionEvent::getSurfaceRotation() const { +std::optional<ui::Rotation> MotionEvent::getSurfaceRotation() const { // The surface rotation is the rotation from the window's coordinate space to that of the // display. Since the event's transform takes display space coordinates to window space, the // returned surface rotation is the inverse of the rotation for the surface. switch (mTransform.getOrientation()) { case ui::Transform::ROT_0: - return static_cast<int32_t>(ui::ROTATION_0); + return ui::ROTATION_0; case ui::Transform::ROT_90: - return static_cast<int32_t>(ui::ROTATION_270); + return ui::ROTATION_270; case ui::Transform::ROT_180: - return static_cast<int32_t>(ui::ROTATION_180); + return ui::ROTATION_180; case ui::Transform::ROT_270: - return static_cast<int32_t>(ui::ROTATION_90); + return ui::ROTATION_90; default: - return -1; + return std::nullopt; } } |