evas/evas_object_image - modified to keep the uv consistency with normal evas_object.
authorhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 22 Jul 2011 05:24:16 +0000 (05:24 +0000)
committerhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 22 Jul 2011 05:24:16 +0000 (05:24 +0000)
Although the uv range of normal object is be localized to the it's geometry,

but the uv range of the image object is be localized it's image size but not geometry size.

In that case, user should find out the objects type and set the uv value differently between normal and image

why they do that?

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@61577 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_image.c

index 86f370c..7783108 100644 (file)
@@ -2657,8 +2657,8 @@ evas_object_image_render(Evas_Object *obj, void *output, void *context, void *su
                   pt->fx = p->px;
                   pt->fy = p->py;
                   pt->fz = p->z;
-                  pt->u = ((p->u * imagew) / uvw) * FP1;
-                  pt->v = ((p->v * imageh) / uvh) * FP1;
+                  pt->u = ((p->u / obj->cur.geometry.w) * imagew) * FP1;
+                  pt->v = ((p->v / obj->cur.geometry.h) * imageh) * FP1;
                   if      (pt->u < 0) pt->u = 0;
                   else if (pt->u > (imagew * FP1)) pt->u = (imagew * FP1);
                   if      (pt->v < 0) pt->v = 0;