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