summaryrefslogtreecommitdiff
path: root/src/lib/evas/common/evas_map_image.c
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2014-11-26 17:39:27 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-11-26 17:39:27 +0900
commitb7d5700312b559b8b86b14b00d6d99b5657f18fe (patch)
tree3feb2e62ddfbd0e6b8e814409a4ce0336c6d284b /src/lib/evas/common/evas_map_image.c
parente9a40835f21cfd4a46da388158aca6b0cda650a7 (diff)
evas/map: correct last 1 pixel handling in spans.
Clipper causes the different rendering result by last 1 pixel on the width. Because the left edge x range (0 ~ (w - 1)) and right edge x range (0 ~ w) is different. This fix won't be memory over access problem even if x span position is on the end of the edge. Because the span width(x2 - x1) will be 0, and it restuls in skipping drawing. It's hardly find the problem but you can detect the subtle rendering difference when some arbitrary meshes with map is You can compare image and rectangle map drawing for this. @fix
Diffstat (limited to '')
-rw-r--r--src/lib/evas/common/evas_map_image.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/evas/common/evas_map_image.c b/src/lib/evas/common/evas_map_image.c
index 8cc83d9186..69e7f5f00a 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -285,7 +285,7 @@ _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int cy
285 spans[yp].span[i].col[1] = col[order[1]]; 285 spans[yp].span[i].col[1] = col[order[1]];
286 286
287 //Outside of the clipper 287 //Outside of the clipper
288 if ((spans[yp].span[i].x[0] >= (cx + cw)) || 288 if ((spans[yp].span[i].x[0] > (cx + cw)) ||
289 (spans[yp].span[i].x[1] < cx)) 289 (spans[yp].span[i].x[1] < cx))
290 spans[yp].span[i].x[0] = -1; 290 spans[yp].span[i].x[0] = -1;
291 else 291 else
@@ -310,7 +310,7 @@ _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int cy
310 spans[yp].span[i].col[1] = col[order[1]]; 310 spans[yp].span[i].col[1] = col[order[1]];
311 311
312 //Outside of the clipper 312 //Outside of the clipper
313 if ((spans[yp].span[i].x[0] >= (cx + cw)) || 313 if ((spans[yp].span[i].x[0] > (cx + cw)) ||
314 (spans[yp].span[i].x[1] < cx)) 314 (spans[yp].span[i].x[1] < cx))
315 spans[yp].span[i].x[0] = -1; 315 spans[yp].span[i].x[0] = -1;
316 else 316 else
@@ -331,7 +331,7 @@ _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int cy
331 spans[yp].span[i].col[1] = col[order[3]]; 331 spans[yp].span[i].col[1] = col[order[3]];
332 332
333 //Outside of the clipper 333 //Outside of the clipper
334 if ((spans[yp].span[i].x[0] >= (cx + cw)) || 334 if ((spans[yp].span[i].x[0] > (cx + cw)) ||
335 (spans[yp].span[i].x[1] < cx)) 335 (spans[yp].span[i].x[1] < cx))
336 spans[yp].span[i].x[0] = -1; 336 spans[yp].span[i].x[0] = -1;
337 else 337 else