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)
downloadefl-188c345b27e2ab9a03d89a870c37fba08a6cf553.tar.gz
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 db572b4840..7cc6c035ec 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)
evas_render_mapped(e, eo_source, source, ctx, proxy_write->surface,
-source->cur->geometry.x,
-source->cur->geometry.y,
- 1, 0, 0, e->output.w, e->output.h, EINA_TRUE
+ 1, 0, 0, e->output.w, e->output.h, EINA_TRUE,
+ EINA_TRUE
#ifdef REND_DBG
, 1
#endif
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 97083e4943..d3f31cda33 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -950,7 +950,8 @@ Eina_Bool
evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
Evas_Object_Protected_Data *obj, void *context,
void *surface, int off_x, int off_y, int mapped, int ecx,
- int ecy, int ecw, int ech, Eina_Bool proxy_render
+ int ecy, int ecw, int ech, Eina_Bool proxy_render,
+ Eina_Bool proxy_src_clip
#ifdef REND_DBG
, int level
#endif
@@ -971,7 +972,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
{
if (obj->clip.clipees || obj->cur->have_clipees)
{
- if (!proxy_render)
+ if (!proxy_render || proxy_src_clip)
{
if (!evas_object_is_visible(eo_obj, obj))
{
@@ -1132,7 +1133,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
obj->map->surface,
off_x2, off_y2, 1,
ecx, ecy, ecw, ech,
- proxy_render
+ proxy_render,
+ proxy_src_clip
#ifdef REND_DBG
, level + 1
#endif
@@ -1263,7 +1265,8 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
obj2, ctx, surface,
off_x, off_y, 1,
ecx, ecy, ecw, ech,
- proxy_render
+ proxy_render,
+ proxy_src_clip
#ifdef REND_DBG
, level + 1
#endif
@@ -1275,7 +1278,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
RDI(level);
//FIXME: Consider to clip by the proxy clipper.
- if (!proxy_render && obj->cur->clipper)
+ if ((!proxy_render || proxy_src_clip) && obj->cur->clipper)
{
RD(" clip: %i %i %ix%i [%i %i %ix%i]\n",
obj->cur->cache.clip.x + off_x,
@@ -1320,7 +1323,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj,
else
{
//FIXME: Consider to clip by the proxy clipper.
- if (!proxy_render && obj->cur->clipper)
+ if ((!proxy_render || proxy_src_clip) && obj->cur->clipper)
{
int x, y, w, h;
@@ -1742,6 +1745,7 @@ evas_render_updates_internal(Evas *eo_e,
surface, off_x,
off_y, 0,
cx, cy, cw, ch,
+ EINA_FALSE,
EINA_FALSE
#ifdef REND_DBG
, 1
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 9defa266f6..1a03c2990e 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,
Evas_Object_Protected_Data *source_pd,
void *context, void *surface, int off_x, int off_y,
int mapped, int ecx, int ecy, int ecw, int ech,
- Eina_Bool proxy_render
+ Eina_Bool proxy_render, Eina_Bool proxy_src_clip
#ifdef REND_DBG
, int level
#endif