Antognolli,

Just a quick request wrt this commit...I'm ok with the workaround for 
now, and I understand why you pushed it (I see the same thing here too), 
However I would make One request ... Can you add a little FIXME note in 
the source itself ?? (perhaps with a reference to this commit hash?). 
Just makes it a little easier in the future (if someone greps for fixmes) ;)

Cheers,
dh

On 04/06/13 19:02, Rafael Antognolli - Enlightenment Git wrote:
> antognolli pushed a commit to branch master.
>
> commit 383bb37e61b94fcd621f24e53999142551ae3880
> Author: Rafael Antognolli <rafael.antogno...@intel.com>
> Date:   Tue Jun 4 14:40:57 2013 -0300
>
>      evas/wayland_egl: Workaround for map perspective issues.
>
>      Account for the framespace offset on perspective fx and fy of each map
>      point.
>
>      This is just a workaround because I could not understand exactly why it
>      is needed. When no perspective is used, the viewport is set to the size
>      of the surface, and each map point seems to be used as is, with no
>      adjustment being needed.
>
>      However, when the map is not flat (perspective is used), a more complex
>      math is used to find the glViewport size. It ends up being bigger, but
>      there are some offsets used to compensate that, gc->shared->ax/y, which
>      are added to each vertex before pushing them. Thus, it seems to me that
>      the framespace offset should not be added to them, but things are weird
>      if this is not done.
>
>      Anyway, I just added those offsets, and it should not impact on gl_x11
>      since it's not using framespace, and software engines don't seem to
>      implement perspective anyway, so it all should be fine.
>
>      If anyone understands better what's going on here, please make a proper
>      fix or at least contact me to explain the problem, and maybe I can fix
>      it by myself.
> ---
>   src/lib/evas/canvas/evas_map.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/lib/evas/canvas/evas_map.c b/src/lib/evas/canvas/evas_map.c
> index d2b7e09..a80678d 100644
> --- a/src/lib/evas/canvas/evas_map.c
> +++ b/src/lib/evas/canvas/evas_map.c
> @@ -1294,8 +1294,8 @@ evas_object_map_update(Evas_Object *eo_obj,
>           pt->x = (lround(p->x) + x) * FP1;
>           pt->y = (lround(p->y) + y) * FP1;
>           pt->z = (lround(p->z)    ) * FP1;
> -        pt->fx = p->px;
> -        pt->fy = p->py;
> +        pt->fx = p->px + obj->layer->evas->framespace.x;
> +        pt->fy = p->py + obj->layer->evas->framespace.y;
>           pt->fz = p->z;
>           if ((uvw == 0) || (imagew == 0)) pt->u = 0;
>           else pt->u = ((lround(p->u) * imagew) / uvw) * FP1;
>


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to