From ac086d353e02e745ddf6d5d43f1a3f8298df1688 Mon Sep 17 00:00:00 2001 From: chaochen Date: Wed, 19 Nov 2014 17:14:00 -0800 Subject: [PATCH] Fix for landscape thumbnail images on GLES11RenderEngine Change-Id: If825345be2c30645c7b87258b7e24d6009f3090a Signed-off-by: Raj Mamadgi --- .../RenderEngine/GLES11RenderEngine.cpp | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp index aded96fa4..853a4eb24 100644 --- a/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp @@ -92,14 +92,29 @@ void GLES11RenderEngine::setViewportAndProjection( case Transform::ROT_0: break; case Transform::ROT_90: - glRotatef(90, 0, 0, 1); - break; - case Transform::ROT_180: - glRotatef(180, 0, 0, 1); - break; - case Transform::ROT_270: + { + float x1 = (l+r)/2; + float y1 = (t+b)/2; + glTranslatef(x1-y1, x1+y1, 0); glRotatef(270, 0, 0, 1); break; + } + case Transform::ROT_180: + { + float x1 = (l+r)/2; + float y1 = (t+b)/2; + glTranslatef(x1*2, y1*2, 0); + glRotatef(180, 0, 0, 1); + break; + } + case Transform::ROT_270: + { + float x1 = (l+r)/2; + float y1 = (t+b)/2; + glTranslatef(x1+y1, y1-x1, 0); + glRotatef(90, 0, 0, 1); + break; + } default: break; }