e_util_transform: correct e_util_transform_vertices_to_rect
authorBoram Park <boram1288.park@samsung.com>
Sun, 23 Apr 2017 06:46:14 +0000 (15:46 +0900)
committerBoram Park <boram1288.park@samsung.com>
Tue, 16 May 2017 04:53:46 +0000 (13:53 +0900)
Change-Id: I47550fbc7b2ea17adc7892797ca7576e6c5fc434

src/bin/e_util_transform.c

index 40f673a225061f6d53a01094f1b7d54c87fd815f..9f6100ebe061592fdce16b66ae346c925215fd08 100644 (file)
@@ -497,10 +497,15 @@ e_util_transform_vertices_to_rect(E_Util_Transform_Rect_Vertex *vertices)
 
    if (vertices)
      {
-        result.x = E_UTIL_TRANSFORM_ROUND(vertices->vertices[0].vertex[0]);
-        result.y = E_UTIL_TRANSFORM_ROUND(vertices->vertices[0].vertex[1]);
-        result.w = E_UTIL_TRANSFORM_ROUND(vertices->vertices[2].vertex[0] - vertices->vertices[0].vertex[0]);
-        result.h = E_UTIL_TRANSFORM_ROUND(vertices->vertices[2].vertex[1] - vertices->vertices[0].vertex[1]);
+        int x1 = E_UTIL_TRANSFORM_ROUND(vertices->vertices[0].vertex[0]);
+        int y1 = E_UTIL_TRANSFORM_ROUND(vertices->vertices[0].vertex[1]);
+        int x2 = E_UTIL_TRANSFORM_ROUND(vertices->vertices[2].vertex[0]);
+        int y2 = E_UTIL_TRANSFORM_ROUND(vertices->vertices[2].vertex[1]);
+
+        result.x = MIN(x1, x2);
+        result.y = MIN(y1, y2);
+        result.w = MAX(x1, x2) - result.x;
+        result.h = MAX(y1, y2) - result.y;
      }
 
    return result;