Add a hidden API to apply a transform the content of an event.
Unlike normal transform, this actually transforms each
point directly. This is only useful for transforming
injected events.
Bug: 179274888
Test: atest libinput_tests:MotionEventTest
Change-Id: Ifbd90649156d2dd00087bf5a97a372ccaea3d5f3
diff --git a/include/input/Input.h b/include/input/Input.h
index 7b522bb..a23ed98 100644
--- a/include/input/Input.h
+++ b/include/input/Input.h
@@ -746,10 +746,14 @@
void scale(float globalScaleFactor);
- // Apply 3x3 perspective matrix transformation.
+ // Set 3x3 perspective matrix transformation.
// Matrix is in row-major form and compatible with SkMatrix.
void transform(const std::array<float, 9>& matrix);
+ // Apply 3x3 perspective matrix transformation only to content (do not modify mTransform).
+ // Matrix is in row-major form and compatible with SkMatrix.
+ void applyTransform(const std::array<float, 9>& matrix);
+
#ifdef __linux__
status_t readFromParcel(Parcel* parcel);
status_t writeToParcel(Parcel* parcel) const;