summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-04-26 14:45:41 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-04-26 14:45:41 +0900
commit39a864d2f7d38bbb140513706820d83f9e206397 (patch)
tree2dcc7208116506669643c3325ed14391b8568284 /src
parent6890a0e4520d6d289fcb8a00e89aee435b4ac72c (diff)
evas - fix the proxy object to not be clipped by source clipper
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/canvas/evas_render.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 80f1a79..97083e4 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -969,17 +969,28 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
969 RD(" { evas_render_mapped(%p, %p, %p, %p, %i, %i, %i, %i)\n", e, obj, context, surface, off_x, off_y, mapped, level); 969 RD(" { evas_render_mapped(%p, %p, %p, %p, %i, %i, %i, %i)\n", e, obj, context, surface, off_x, off_y, mapped, level);
970 if (mapped) 970 if (mapped)
971 { 971 {
972 if ((!evas_object_is_visible(eo_obj, obj)) || (obj->clip.clipees) || 972 if (obj->clip.clipees || obj->cur->have_clipees)
973 (obj->cur->have_clipees))
974 { 973 {
975 RDI(level); 974 if (!proxy_render)
976 RD(" }\n"); 975 {
977 return clean_them; 976 if (!evas_object_is_visible(eo_obj, obj))
977 {
978 RDI(level);
979 RD(" }\n");
980 return clean_them;
981 }
982 }
983 else
984 {
985 RDI(level);
986 RD(" }\n");
987 return clean_them;
988 }
978 } 989 }
979 } 990 }
980 else if (!(((evas_object_is_active(eo_obj, obj) && (!obj->clip.clipees) && 991 else if (!(evas_object_is_active(eo_obj, obj) &&
981 (_evas_render_can_render(eo_obj, obj)))) 992 (!obj->clip.clipees) &&
982 )) 993 _evas_render_can_render(eo_obj, obj)))
983 { 994 {
984 RDI(level); 995 RDI(level);
985 RD(" }\n"); 996 RD(" }\n");
@@ -1263,7 +1274,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1263 { 1274 {
1264 RDI(level); 1275 RDI(level);
1265 1276
1266 if (obj->cur->clipper) 1277 //FIXME: Consider to clip by the proxy clipper.
1278 if (!proxy_render && obj->cur->clipper)
1267 { 1279 {
1268 RD(" clip: %i %i %ix%i [%i %i %ix%i]\n", 1280 RD(" clip: %i %i %ix%i [%i %i %ix%i]\n",
1269 obj->cur->cache.clip.x + off_x, 1281 obj->cur->cache.clip.x + off_x,
@@ -1307,7 +1319,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1307 } 1319 }
1308 else 1320 else
1309 { 1321 {
1310 if (obj->cur->clipper) 1322 //FIXME: Consider to clip by the proxy clipper.
1323 if (!proxy_render && obj->cur->clipper)
1311 { 1324 {
1312 int x, y, w, h; 1325 int x, y, w, h;
1313 1326