diff options
Diffstat (limited to 'src/mm_evas_renderer.c')
-rwxr-xr-x | src/mm_evas_renderer.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mm_evas_renderer.c b/src/mm_evas_renderer.c index c8fec0d..5d5c0b6 100755 --- a/src/mm_evas_renderer.c +++ b/src/mm_evas_renderer.c @@ -35,6 +35,7 @@ #endif #define LOG_TAG "MM_EVAS_RENDER" //#define _INTERNAL_DEBUG_ /* debug only */ +#define SWAP(a, b) ({int t; t = a; a = b; b = t; }) #if 0 #define MMER_FENTER(); LOGD("<ENTER>"); @@ -842,6 +843,13 @@ static void _mm_evas_renderer_update_geometry(mm_evas_info *evas_info, rect_info result->x = 0; result->y = 0; + if (evas_info->rotate_angle == DEGREE_90 || evas_info->rotate_angle == DEGREE_270) { + SWAP(evas_info->w, evas_info->h); +#ifdef _INTERNAL_DEBUG_ + LOGD("swapped width %d, height %d", evas_info->w, evas_info->h); +#endif + } + switch (evas_info->display_geometry_method) { case DISP_GEO_METHOD_LETTER_BOX: /* set black padding for letter box mode */ @@ -911,6 +919,10 @@ static void _mm_evas_renderer_update_geometry(mm_evas_info *evas_info, rect_info LOGW("unsupported mode."); break; } + + if (evas_info->rotate_angle == DEGREE_90 || evas_info->rotate_angle == DEGREE_270) + SWAP(evas_info->w, evas_info->h); + LOGD("geometry result [%d, %d, %d, %d]", result->x, result->y, result->w, result->h); MMER_FLEAVE(); |