fix camera API 2.0 orientation
we add a flag to ANativeWindow::setBufferTransform that means
"apply the inverse rotation of the display this buffer is displayed
onto to".
Bug: 10804238
Change-Id: Id2447676271950463e8dbcef1b95935c5c3f32b2
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp
index 917d4cd..800137b 100644
--- a/services/surfaceflinger/DisplayDevice.cpp
+++ b/services/surfaceflinger/DisplayDevice.cpp
@@ -344,6 +344,25 @@
// ----------------------------------------------------------------------------
+uint32_t DisplayDevice::getOrientationTransform() const {
+ uint32_t transform = 0;
+ switch (mOrientation) {
+ case DisplayState::eOrientationDefault:
+ transform = Transform::ROT_0;
+ break;
+ case DisplayState::eOrientation90:
+ transform = Transform::ROT_90;
+ break;
+ case DisplayState::eOrientation180:
+ transform = Transform::ROT_180;
+ break;
+ case DisplayState::eOrientation270:
+ transform = Transform::ROT_270;
+ break;
+ }
+ return transform;
+}
+
status_t DisplayDevice::orientationToTransfrom(
int orientation, int w, int h, Transform* tr)
{