jaehyun pushed a commit to branch elementary-1.12.

http://git.enlightenment.org/core/elementary.git/commit/?id=49d876d1fe386ff4e4b13e289717e1c16b513be8

commit 49d876d1fe386ff4e4b13e289717e1c16b513be8
Author: Jaehyun Cho <[email protected]>
Date:   Mon Jan 19 15:30:26 2015 +0900

    elm_transit: Fix to support zoom rate zero.
    
    Summary:
    Fix to support zoom rate zero by using evas_map_util_zoom() instead of 
evas_map_util_3d_perspective().
    @fix
    
    Reviewers: Hermet
    
    Reviewed By: Hermet
    
    Differential Revision: https://phab.enlightenment.org/D1877
    
    Conflicts:
        src/lib/elm_transit.c
---
 src/lib/elm_transit.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c
index daa7f35..5f26494 100644
--- a/src/lib/elm_transit.c
+++ b/src/lib/elm_transit.c
@@ -1080,6 +1080,7 @@ _transit_effect_zoom_op(Elm_Transit_Effect *effect, 
Elm_Transit *transit , doubl
    Elm_Transit_Effect_Zoom *zoom = effect;
    Evas_Map *map;
    Evas_Coord x, y, w, h;
+   double zoom_rate = (zoom->from * (1.0 - progress)) + (zoom->to * progress);
 
    map = evas_map_new(4);
    if (!map) return;
@@ -1090,8 +1091,7 @@ _transit_effect_zoom_op(Elm_Transit_Effect *effect, 
Elm_Transit *transit , doubl
         evas_map_util_points_populate_from_object_full(map, obj, zoom->from +
                                                        (progress * zoom->to));
         _recover_image_uv(obj, map, EINA_FALSE, EINA_FALSE);
-        evas_map_util_3d_perspective(map, x + (w / 2), y + (h / 2), 0,
-                                     _TRANSIT_FOCAL);
+        evas_map_util_zoom(map, zoom_rate, zoom_rate, x + (w / 2), y + (h / 
2));
         if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
         evas_object_map_set(obj, map);
         evas_object_map_enable_set(obj, EINA_TRUE);
@@ -1107,8 +1107,8 @@ _transit_effect_zoom_context_new(float from_rate, float 
to_rate)
    zoom = ELM_NEW(Elm_Transit_Effect_Zoom);
    if (!zoom) return NULL;
 
-   zoom->from = (_TRANSIT_FOCAL - (from_rate * _TRANSIT_FOCAL)) * (1 / 
from_rate);
-   zoom->to = ((_TRANSIT_FOCAL - (to_rate * _TRANSIT_FOCAL)) * (1 / to_rate)) 
- zoom->from;
+   zoom->from = from_rate;
+   zoom->to = to_rate;
 
    return zoom;
 }

-- 


Reply via email to