From d8acbc0311fd126b0b3a2298082dadc98022f933 Mon Sep 17 00:00:00 2001 From: dhewg Date: Wed, 23 Feb 2011 20:35:27 +0100 Subject: [PATCH] ANDROID: Deuglify overlay gfx Use the native surface resolution of the device if its not too big. If it is, use a clean scale factor of 2 to prevent eyecancer. --- backends/platform/android/gfx.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/backends/platform/android/gfx.cpp b/backends/platform/android/gfx.cpp index 838e5bc2234..d4d96a239c3 100644 --- a/backends/platform/android/gfx.cpp +++ b/backends/platform/android/gfx.cpp @@ -121,9 +121,22 @@ void OSystem_Android::initSize(uint width, uint height, _game_texture->allocBuffer(width, height); - // Cap at 320x200 or the ScummVM themes abort :/ - GLuint overlay_width = MIN(_egl_surface_width, 320); - GLuint overlay_height = MIN(_egl_surface_height, 200); + GLuint overlay_width = _egl_surface_width; + GLuint overlay_height = _egl_surface_height; + + // the 'normal' theme layout uses a max height of 400 pixels. if the + // surface is too big we use only a quarter of the size so that the widgets + // don't get too small. if the surface height has less than 800 pixels, this + // enforces the 'lowres' layout, which will be scaled back up by factor 2x, + // but this looks way better than the 'normal' layout scaled by some + // calculated factors + if (overlay_height > 480) { + overlay_width /= 2; + overlay_height /= 2; + } + + LOGI("overlay size is %ux%u", overlay_width, overlay_height); + _overlay_texture->allocBuffer(overlay_width, overlay_height); // Don't know mouse size yet - it gets reallocated in