Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2b0267b authored by Prabir Pradhan's avatar Prabir Pradhan
Browse files

MotionEvent: Avoid clipping tranformed orientation angle values

A recent refactor (ag/14556109) exposed an issue in the existing
orientation angle transformation logic where the output was clipped
incorrectly. There is no need to clip the ouput of atan2f because its
output is in the range [-pi, pi], which conforms to the MotionEvent's
orientation API.

Test: manual with stylus and test app
Bug: 202534592
Change-Id: I55df7470049922d0f579c2c1921dcacd0757ece1
parent f367330f
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -56,13 +56,8 @@ float transformAngle(const ui::Transform& transform, float angleRadians) {
    transformedPoint.y -= origin.y;

    // Derive the transformed vector's clockwise angle from vertical.
    float result = atan2f(transformedPoint.x, -transformedPoint.y);
    if (result < -M_PI_2) {
        result += M_PI;
    } else if (result > M_PI_2) {
        result -= M_PI;
    }
    return result;
    // The return value of atan2f is in range [-pi, pi] which conforms to the orientation API.
    return atan2f(transformedPoint.x, -transformedPoint.y);
}

vec2 transformWithoutTranslation(const ui::Transform& transform, const vec2& xy) {