hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c850cc0d80b754be851576083eba27a72b58b9f2

commit c850cc0d80b754be851576083eba27a72b58b9f2
Author: Oleksandr Shcherbina <o.shcherb...@samsung.com>
Date:   Fri Aug 28 20:32:45 2015 +0900

    evas_canvas3d: Recalculation coordinates for pick object from scene
    
    Summary:
    Change recalculation coordinate for pick to depend on size of viewport, not 
from
    scene data.
    Due to not correct working pick in case resize view window.
    @fix
    
    Reviewers: cedric, Hermet
    
    Reviewed By: Hermet
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D2950
---
 src/lib/evas/canvas/evas_canvas3d_scene.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_scene.c 
b/src/lib/evas/canvas/evas_canvas3d_scene.c
index 1f039ff..518bcbe 100644
--- a/src/lib/evas/canvas/evas_canvas3d_scene.c
+++ b/src/lib/evas/canvas/evas_canvas3d_scene.c
@@ -608,8 +608,8 @@ _evas_canvas3d_scene_pick(const Eo *obj, 
Evas_Canvas3D_Scene_Data *pd, Evas_Real
    pd_parent = eo_data_scope_get(obj, EVAS_CANVAS3D_OBJECT_CLASS);
    e = eo_data_scope_get(pd_parent->evas, EVAS_CANVAS_CLASS);
 
-   data.x      = ((x * 2.0) / (Evas_Real)pd->w) - 1.0;
-   data.y      = (((pd->h - y - 1) * 2.0) / ((Evas_Real)pd->h)) - 1.0;
+   data.x      = ((x * 2.0) / ((Evas_Real)e->viewport.w)) - 1.0;
+   data.y      = ((((Evas_Real)e->viewport.h - y - 1) * 2.0) / 
((Evas_Real)e->viewport.h)) - 1.0;
    data.picked = EINA_FALSE;
    data.z      = 1.0;
    data.node   = NULL;

-- 


Reply via email to