summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2012-02-23 06:07:37 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-02-23 06:07:37 +0000
commitc29416e0d897e25b3273252c1a90aa9c61b59db8 (patch)
tree4cfa24d034259b4713f46524d4f23bed0929eb3f
parent367799c1ec88f38f73b0c0c5b46b03a618dfa4ed (diff)
fix update region handling with scaling.
SVN revision: 68303
-rw-r--r--legacy/evas/ChangeLog4
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_image.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog
index c2cb50943a..8f789a5eaa 100644
--- a/legacy/evas/ChangeLog
+++ b/legacy/evas/ChangeLog
@@ -667,3 +667,7 @@
667 For example, this can be used to nicely change the font and size 667 For example, this can be used to nicely change the font and size
668 in a text editor. 668 in a text editor.
669 669
6702012-02-23 Carsten Haitzler (The Rasterman)
671
672 * Fix rouding of update regions for image objects when scaled
673 (leaves trails without this).
diff --git a/legacy/evas/src/lib/canvas/evas_object_image.c b/legacy/evas/src/lib/canvas/evas_object_image.c
index 2553ec4624..4ebea0886a 100644
--- a/legacy/evas/src/lib/canvas/evas_object_image.c
+++ b/legacy/evas/src/lib/canvas/evas_object_image.c
@@ -3401,10 +3401,10 @@ evas_object_image_render_pre(Evas_Object *obj)
3401 y = idy; 3401 y = idy;
3402 h = ((int)(idy + idh)) - y; 3402 h = ((int)(idy + idh)) - y;
3403 3403
3404 r.x = ((rr->x - 1) * w) / o->cur.image.w; 3404 r.x = (rr->x * w) / o->cur.image.w;
3405 r.y = ((rr->y - 1) * h) / o->cur.image.h; 3405 r.y = (rr->y * h) / o->cur.image.h;
3406 r.w = ((rr->w + 2) * w) / o->cur.image.w; 3406 r.w = ((rr->w * w) + (o->cur.image.w * 2) - 1) / o->cur.image.w;
3407 r.h = ((rr->h + 2) * h) / o->cur.image.h; 3407 r.h = ((rr->h * h) + (o->cur.image.h * 2) - 1) / o->cur.image.h;
3408 r.x += obj->cur.geometry.x + x; 3408 r.x += obj->cur.geometry.x + x;
3409 r.y += obj->cur.geometry.y + y; 3409 r.y += obj->cur.geometry.y + y;
3410 RECTS_CLIP_TO_RECT(r.x, r.y, r.w, r.h, 3410 RECTS_CLIP_TO_RECT(r.x, r.y, r.w, r.h,