summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-04-26 17:19:50 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-04-26 17:19:50 +0900
commit188c345b27e2ab9a03d89a870c37fba08a6cf553 (patch)
tree753f4f3d2fbb083ec7eecfa9e71300187c77472d
parent25f1706fa80d9641e8620bbd79c85f900cfe8263 (diff)
evas - For compatibility, Make proxy's source clip to be optional. Im checking partal code for zmike.
-rw-r--r--src/lib/evas/canvas/evas_object_image.c3
-rw-r--r--src/lib/evas/canvas/evas_render.c16
-rw-r--r--src/lib/evas/include/evas_private.h2
3 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index db572b4..7cc6c03 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -3254,7 +3254,8 @@ _proxy_subrender(Evas *eo_e, Evas_Object *eo_source, Eina_Bool do_async)
3254 evas_render_mapped(e, eo_source, source, ctx, proxy_write->surface, 3254 evas_render_mapped(e, eo_source, source, ctx, proxy_write->surface,
3255 -source->cur->geometry.x, 3255 -source->cur->geometry.x,
3256 -source->cur->geometry.y, 3256 -source->cur->geometry.y,
3257 1, 0, 0, e->output.w, e->output.h, EINA_TRUE 3257 1, 0, 0, e->output.w, e->output.h, EINA_TRUE,
3258 EINA_TRUE
3258#ifdef REND_DBG 3259#ifdef REND_DBG
3259 , 1 3260 , 1
3260#endif 3261#endif
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 97083e4..d3f31cd 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -950,7 +950,8 @@ Eina_Bool
950evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj, 950evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
951 Evas_Object_Protected_Data *obj, void *context, 951 Evas_Object_Protected_Data *obj, void *context,
952 void *surface, int off_x, int off_y, int mapped, int ecx, 952 void *surface, int off_x, int off_y, int mapped, int ecx,
953 int ecy, int ecw, int ech, Eina_Bool proxy_render 953 int ecy, int ecw, int ech, Eina_Bool proxy_render,
954 Eina_Bool proxy_src_clip
954#ifdef REND_DBG 955#ifdef REND_DBG
955 , int level 956 , int level
956#endif 957#endif
@@ -971,7 +972,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
971 { 972 {
972 if (obj->clip.clipees || obj->cur->have_clipees) 973 if (obj->clip.clipees || obj->cur->have_clipees)
973 { 974 {
974 if (!proxy_render) 975 if (!proxy_render || proxy_src_clip)
975 { 976 {
976 if (!evas_object_is_visible(eo_obj, obj)) 977 if (!evas_object_is_visible(eo_obj, obj))
977 { 978 {
@@ -1132,7 +1133,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1132 obj->map->surface, 1133 obj->map->surface,
1133 off_x2, off_y2, 1, 1134 off_x2, off_y2, 1,
1134 ecx, ecy, ecw, ech, 1135 ecx, ecy, ecw, ech,
1135 proxy_render 1136 proxy_render,
1137 proxy_src_clip
1136#ifdef REND_DBG 1138#ifdef REND_DBG
1137 , level + 1 1139 , level + 1
1138#endif 1140#endif
@@ -1263,7 +1265,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1263 obj2, ctx, surface, 1265 obj2, ctx, surface,
1264 off_x, off_y, 1, 1266 off_x, off_y, 1,
1265 ecx, ecy, ecw, ech, 1267 ecx, ecy, ecw, ech,
1266 proxy_render 1268 proxy_render,
1269 proxy_src_clip
1267#ifdef REND_DBG 1270#ifdef REND_DBG
1268 , level + 1 1271 , level + 1
1269#endif 1272#endif
@@ -1275,7 +1278,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1275 RDI(level); 1278 RDI(level);
1276 1279
1277 //FIXME: Consider to clip by the proxy clipper. 1280 //FIXME: Consider to clip by the proxy clipper.
1278 if (!proxy_render && obj->cur->clipper) 1281 if ((!proxy_render || proxy_src_clip) && obj->cur->clipper)
1279 { 1282 {
1280 RD(" clip: %i %i %ix%i [%i %i %ix%i]\n", 1283 RD(" clip: %i %i %ix%i [%i %i %ix%i]\n",
1281 obj->cur->cache.clip.x + off_x, 1284 obj->cur->cache.clip.x + off_x,
@@ -1320,7 +1323,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
1320 else 1323 else
1321 { 1324 {
1322 //FIXME: Consider to clip by the proxy clipper. 1325 //FIXME: Consider to clip by the proxy clipper.
1323 if (!proxy_render && obj->cur->clipper) 1326 if ((!proxy_render || proxy_src_clip) && obj->cur->clipper)
1324 { 1327 {
1325 int x, y, w, h; 1328 int x, y, w, h;
1326 1329
@@ -1742,6 +1745,7 @@ evas_render_updates_internal(Evas *eo_e,
1742 surface, off_x, 1745 surface, off_x,
1743 off_y, 0, 1746 off_y, 0,
1744 cx, cy, cw, ch, 1747 cx, cy, cw, ch,
1748 EINA_FALSE,
1745 EINA_FALSE 1749 EINA_FALSE
1746#ifdef REND_DBG 1750#ifdef REND_DBG
1747 , 1 1751 , 1
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 9defa26..1a03c29 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1239,7 +1239,7 @@ Eina_Bool evas_render_mapped(Evas_Public_Data *e, Evas_Object *obj,
1239 Evas_Object_Protected_Data *source_pd, 1239 Evas_Object_Protected_Data *source_pd,
1240 void *context, void *surface, int off_x, int off_y, 1240 void *context, void *surface, int off_x, int off_y,
1241 int mapped, int ecx, int ecy, int ecw, int ech, 1241 int mapped, int ecx, int ecy, int ecw, int ech,
1242 Eina_Bool proxy_render 1242 Eina_Bool proxy_render, Eina_Bool proxy_src_clip
1243#ifdef REND_DBG 1243#ifdef REND_DBG
1244 , int level 1244 , int level
1245#endif 1245#endif