summaryrefslogtreecommitdiff
path: root/src/mm_evas_renderer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm_evas_renderer.c')
-rwxr-xr-xsrc/mm_evas_renderer.c12
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();