From 709d7dec790f046ae3f72e7ebe9046977a46ac65 Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Wed, 12 Mar 2014 09:50:15 -0700 Subject: [PATCH] Adjust for device orientation When the device is rotated, reverse the width/height values. Change-Id: Idc2b80b1cb96d9379cd94192997580e1ade70bf6 --- opengl/tests/lib/WindowSurface.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/opengl/tests/lib/WindowSurface.cpp b/opengl/tests/lib/WindowSurface.cpp index 7b57dfd54..ff9126012 100644 --- a/opengl/tests/lib/WindowSurface.cpp +++ b/opengl/tests/lib/WindowSurface.cpp @@ -43,8 +43,19 @@ WindowSurface::WindowSurface() { return; } + uint32_t width, height; + if (mainDpyInfo.orientation != DISPLAY_ORIENTATION_0 && + mainDpyInfo.orientation != DISPLAY_ORIENTATION_180) { + // rotated + width = mainDpyInfo.h; + height = mainDpyInfo.w; + } else { + width = mainDpyInfo.w; + height = mainDpyInfo.h; + } + sp sc = surfaceComposerClient->createSurface( - String8("Benchmark"), mainDpyInfo.w, mainDpyInfo.h, + String8("Benchmark"), width, height, PIXEL_FORMAT_RGBA_8888, ISurfaceComposerClient::eOpaque); if (sc == NULL || !sc->isValid()) { fprintf(stderr, "Failed to create SurfaceControl\n");